configureAccountBasicInjection function

Future<void> configureAccountBasicInjection(
  1. AppEnvironment environment,
  2. AccountBasicConfig config
)

Implementation

Future<void> configureAccountBasicInjection(AppEnvironment environment, AccountBasicConfig config) async {
  final getIt = GetIt.instance;

  // if (!getIt.isRegistered<SharedPreferences>()) {
  //   if (AppEnvironment.test != environment) {
  //     getIt.registerSingletonAsync<SharedPreferences>(() => SharedPreferences.getInstance());
  //   }
  // }

  // if (!getIt.isRegistered<IHttpClient>()) {
  //   if (AppEnvironment.test != environment) {
  //     getIt.registerSingletonAsync<IHttpClient>(
  //       () async => HttpClientImpl(
  //         sharedPreferences: getIt(),
  //       ),
  //       dependsOn: [
  //         SharedPreferences,
  //       ],
  //     );
  //   }
  // }

  getIt.registerSingleton<AccountBasicConfig>(config);

  if (!getIt.isRegistered<AccountBasicService>()) {
    getIt.registerSingletonAsync<AccountBasicService>(() async {
      if (environment == AppEnvironment.test) {
        return AccountBasicServiceMock();
      }
      return AccountBasicServiceImpl(
        config: config,
        client: getIt<IHttpClient>(),
      );
    });
  }

  await getIt.isReady<AccountBasicService>();
}