mount function
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;
}