initialize method

Future<SunnyInjector> initialize(
  1. LifecycleInit init, {
  2. required NamedIconContainer icons,
})

Implementation

Future<SunnyInjector> initialize(
  LifecycleInit init, {
  required NamedIconContainer icons,
}) async {
  try {
    // _container.registerInstance(navState);
    // _container.registerInstance(locale);
    _container.registerInstance<NamedIconContainer, NamedIconContainer>(icons, isSilent: true);
    _container.registerInstance(ApiRegistry(init.authState.userStateStream));
    _container.registerInstance(init.userPrefs);
    _container.registerInstance(init.helpService);
    _container.registerInstance(init.authState);
    _container.registerInstance(init.appInfo);
    _container.registerInstance(init.deviceInfo);
    _container.registerInstance(init.analytics);
    _container.registerInstance(init.routing);

    await preInit.call(_container);

    await _container.initializeEagerSingletons();
    log.info("Eager singletons initialized");
    await postInit.call(_container);
    // final _factService = await _container.resolve<FactService>();
    // _container.registerInstance<IFactService, FactService>(_factService);

    // await _container.instance<MSchemaService>().ready;
    return this;
  } catch (e, stack) {
    log.shout("Error initializing sunny context: $e", e, stack);
    rethrow;
  }
}