// dart format width=80
// GENERATED CODE - DO NOT MODIFY BY HAND

// **************************************************************************
// InjectableConfigGenerator
// **************************************************************************

// ignore_for_file: type=lint
// coverage:ignore-file

// ignore_for_file: no_leading_underscores_for_library_prefixes
import 'package:apskel_pos_flutter_v2/application/auth/auth_bloc.dart' as _i343;
import 'package:apskel_pos_flutter_v2/application/auth/login_form/login_form_bloc.dart'
    as _i46;
import 'package:apskel_pos_flutter_v2/application/outlet/outlet_loader/outlet_loader_bloc.dart'
    as _i76;
import 'package:apskel_pos_flutter_v2/common/api/api_client.dart' as _i457;
import 'package:apskel_pos_flutter_v2/common/di/di_auto_route.dart' as _i729;
import 'package:apskel_pos_flutter_v2/common/di/di_connectivity.dart' as _i807;
import 'package:apskel_pos_flutter_v2/common/di/di_dio.dart' as _i86;
import 'package:apskel_pos_flutter_v2/common/di/di_shared_preferences.dart'
    as _i135;
import 'package:apskel_pos_flutter_v2/common/network/network_client.dart'
    as _i171;
import 'package:apskel_pos_flutter_v2/domain/auth/auth.dart' as _i776;
import 'package:apskel_pos_flutter_v2/domain/outlet/outlet.dart' as _i552;
import 'package:apskel_pos_flutter_v2/env.dart' as _i923;
import 'package:apskel_pos_flutter_v2/infrastructure/auth/datasources/local_data_provider.dart'
    as _i204;
import 'package:apskel_pos_flutter_v2/infrastructure/auth/datasources/remote_data_provider.dart'
    as _i370;
import 'package:apskel_pos_flutter_v2/infrastructure/auth/repositories/auth_repository.dart'
    as _i941;
import 'package:apskel_pos_flutter_v2/infrastructure/outlet/datasources/local_data_provider.dart'
    as _i693;
import 'package:apskel_pos_flutter_v2/infrastructure/outlet/datasources/remote_data_provider.dart'
    as _i132;
import 'package:apskel_pos_flutter_v2/infrastructure/outlet/repositories/outlet_repository.dart'
    as _i845;
import 'package:apskel_pos_flutter_v2/presentation/router/app_router.dart'
    as _i800;
import 'package:connectivity_plus/connectivity_plus.dart' as _i895;
import 'package:dio/dio.dart' as _i361;
import 'package:get_it/get_it.dart' as _i174;
import 'package:injectable/injectable.dart' as _i526;
import 'package:shared_preferences/shared_preferences.dart' as _i460;

const String _dev = 'dev';
const String _prod = 'prod';

extension GetItInjectableX on _i174.GetIt {
  // initializes the registration of main-scope dependencies inside of GetIt
  Future<_i174.GetIt> init({
    String? environment,
    _i526.EnvironmentFilter? environmentFilter,
  }) async {
    final gh = _i526.GetItHelper(this, environment, environmentFilter);
    final sharedPreferencesDi = _$SharedPreferencesDi();
    final dioDi = _$DioDi();
    final autoRouteDi = _$AutoRouteDi();
    final connectivityDi = _$ConnectivityDi();
    await gh.factoryAsync<_i460.SharedPreferences>(
      () => sharedPreferencesDi.prefs,
      preResolve: true,
    );
    gh.lazySingleton<_i361.Dio>(() => dioDi.dio);
    gh.lazySingleton<_i800.AppRouter>(() => autoRouteDi.appRouter);
    gh.lazySingleton<_i895.Connectivity>(() => connectivityDi.connectivity);
    gh.lazySingleton<_i171.NetworkClient>(
      () => _i171.NetworkClient(gh<_i895.Connectivity>()),
    );
    gh.factory<_i923.Env>(() => _i923.DevEnv(), registerFor: {_dev});
    gh.factory<_i204.AuthLocalDataProvider>(
      () => _i204.AuthLocalDataProvider(gh<_i460.SharedPreferences>()),
    );
    gh.factory<_i693.OutletLocalDatasource>(
      () => _i693.OutletLocalDatasource(gh<_i460.SharedPreferences>()),
    );
    gh.lazySingleton<_i457.ApiClient>(
      () => _i457.ApiClient(gh<_i361.Dio>(), gh<_i923.Env>()),
    );
    gh.factory<_i923.Env>(() => _i923.ProdEnv(), registerFor: {_prod});
    gh.factory<_i370.AuthRemoteDataProvider>(
      () => _i370.AuthRemoteDataProvider(gh<_i457.ApiClient>()),
    );
    gh.factory<_i132.OutletRemoteDataProvider>(
      () => _i132.OutletRemoteDataProvider(gh<_i457.ApiClient>()),
    );
    gh.factory<_i776.IAuthRepository>(
      () => _i941.AuthRepository(
        gh<_i370.AuthRemoteDataProvider>(),
        gh<_i204.AuthLocalDataProvider>(),
      ),
    );
    gh.factory<_i552.IOutletRepository>(
      () => _i845.OutletRepository(
        gh<_i132.OutletRemoteDataProvider>(),
        gh<_i693.OutletLocalDatasource>(),
      ),
    );
    gh.factory<_i46.LoginFormBloc>(
      () => _i46.LoginFormBloc(gh<_i776.IAuthRepository>()),
    );
    gh.factory<_i343.AuthBloc>(
      () => _i343.AuthBloc(
        gh<_i776.IAuthRepository>(),
        gh<_i552.IOutletRepository>(),
      ),
    );
    gh.factory<_i76.OutletLoaderBloc>(
      () => _i76.OutletLoaderBloc(gh<_i552.IOutletRepository>()),
    );
    return this;
  }
}

class _$SharedPreferencesDi extends _i135.SharedPreferencesDi {}

class _$DioDi extends _i86.DioDi {}

class _$AutoRouteDi extends _i729.AutoRouteDi {}

class _$ConnectivityDi extends _i807.ConnectivityDi {}
