ClientServer.fromMeta constructor
ClientServer.fromMeta(
- RevaliContext context,
- MetaServer server
Implementation
factory ClientServer.fromMeta(RevaliContext context, MetaServer server) {
MetaAppConfig? metaApp;
var app = ClientApp.defaultConfig();
if (server.apps case final apps when apps.isNotEmpty) {
final flavor = context.flavor;
if ((flavor == null || flavor.isEmpty) && apps.length == 1) {
app = ClientApp.fromMeta(apps.first);
}
for (final e in apps) {
if (e.appAnnotation.flavor == context.flavor) {
app = ClientApp.fromMeta(e);
metaApp = e;
break;
}
}
}
final lifecycleComponents = <ClientLifecycleComponent>[];
metaApp?.annotationsFor(
onMatch: [
OnMatch(
classType: LifecycleComponent,
package: 'revali_router_annotations',
convert: (object, annotation) {
final component = ClientLifecycleComponent.fromDartObject(
annotation,
);
lifecycleComponents.add(component);
},
),
],
);
return ClientServer(
app: app,
controllers: server.routes
.map((e) => ClientController.fromMeta(e, lifecycleComponents))
.toList(),
);
}