buildChildRoutes method

Expression buildChildRoutes(
  1. Expression router
)

Build child routes

Implementation

Expression buildChildRoutes(Expression router) {
  for (final Segment child in segmentDocument.children) {
    String childSegment = basename(child.directory);
    final String? paramName = resolveParamName(childSegment);
    if (paramName != null) {
      childSegment = ':$paramName';
      if (child.configuration?.expression != null) {
        childSegment += child.configuration!.expression!;
      }
    }

    final Builder builder = Builder(
      segmentDocument: child,
      rootDirectory: rootDirectory,
    );
    router = router.cascade('mount').call([
      literalString(childSegment, raw: true)
    ], {
      "router": builder.router,
    });
  }

  return router;
}