mount function

Future<Cascade> mount(
  1. dynamic adapter,
  2. Cascade router
)

Mounts the router adapter inside the shelf Cascade router

The adapter must have the RestAPI annotation

Implementation

Future<Cascade> mount(dynamic adapter, Cascade router) async {
  var ref = reflect(adapter);
  print('-------------------------------------');
  print('mounting ${ref.reflectee}');
  var rootmember = ref.type.metadata
      .where((element) => element.reflectee is RestAPI)
      .toList();
  var baseUrl = rootmember.single.reflectee.baseUrl != ""
      ? rootmember.single.reflectee.baseUrl
      : "";
  for (var rootMember in ref.type.instanceMembers.values) {
    if (rootMember.metadata.isNotEmpty) {
      router = await mountURLMethod(rootMember, ref, router, baseUrl);
    }
  }
  print('-------------------------------------');
  return router;
}