configureMessengerInjection function

Future<void> configureMessengerInjection(
  1. AppEnvironment environment,
  2. MessengerConfig config, {
  3. Logger? logger,
})

Implementation

Future<void> configureMessengerInjection(
  AppEnvironment environment,
  MessengerConfig config, {
  Logger? logger,
}) async {
  final getIt = GetIt.instance;

  if (!getIt.isRegistered<MessengerService>()) {
    getIt.registerSingletonAsync<MessengerService>(() async {
      //if (environment == AppEnvironment.test) {
      //  return MessengerServiceMock();
      //}
      return MessengerServiceImpl(
        config: config,
        client: getIt<IHttpClient>(),
        logger: logger ?? getMessengerDefaultLogger(),
      );
    });
  }

  await getIt.isReady<MessengerService>();

  getIt.registerSingleton<MessengerConfig>(config);
  //getIt.registerSingleton<MessengerBloc>(
  //  MessengerBloc(messengerService: getIt()),
  //);
}