setup method

void setup()

Implementation

void setup() {
  final getIt = WalletInjector.instance.getIt;
  WalletInjector.instance.registerLazySingleton<SaleByWalletRepository>(
    () => SaleByWalletRepoImpl(_networkService),
  );

  WalletInjector.instance.registerLazySingleton(
    () => PayWithAliasUseCase(getIt<SaleByWalletRepository>()),
  );

  WalletInjector.instance.registerLazySingleton(
    () => PayWithMobileNumberUseCase(getIt<SaleByWalletRepository>()),
  );

  WalletInjector.instance.registerLazySingleton(
    () => VerifyCustomerUseCase(getIt<SaleByWalletRepository>()),
  );

  WalletInjector.instance.registerLazySingleton<SaleByWalletPayCubit>(
    () => SaleByWalletPayCubit(
      getIt<PayWithAliasUseCase>(),
      getIt<PayWithMobileNumberUseCase>(),
    ),
  );

  WalletInjector.instance.registerLazySingleton<SaleByWalletVerifyCubit>(
    () => SaleByWalletVerifyCubit(getIt<VerifyCustomerUseCase>()),
  );

  WalletInjector.instance.registerLazySingleton<SaleByWalletCubit>(
    () => SaleByWalletCubit(),
  );

  WalletInjector.instance
      .registerLazySingleton<IUseCase<QRResponse, DynamicQRRequest>>(
    () => PayWithQrUseCase(getIt<SaleByWalletRepository>()),
  );

  WalletInjector.instance.registerLazySingleton(
    () => SaleByQrCubit(getIt<IUseCase<QRResponse, DynamicQRRequest>>()),
  );
}