setup function
Implementation
void setup({SdkCallbacks? callbacks}) {
if (callbacks != null) {
getIt.registerSingleton<SdkCallbacks>(callbacks);
}
getIt.registerLazySingleton(() => NetworkRequester());
getIt.registerFactory<CommonMethod>(() => CommonMethod());
///App
getIt.registerFactory<AppRepository>(
() => AppRepositoryImpl(networkRequester: getIt<NetworkRequester>()),
);
getIt.registerFactory(() => AppBloc(repository: getIt<AppRepository>()));
///Credit
getIt.registerFactory<CreditOnboardingRepository>(
() => CreditOnboardingRepositoryImpl(
networkRequester: getIt<NetworkRequester>(),
),
);
getIt.registerFactory(
() => CreditOnboardingBloc(
repository: getIt<CreditOnboardingRepository>(),
commonMethod: getIt<CommonMethod>(),
),
);
///Emi
getIt.registerFactory(
() => EmiBloc(repository: getIt<CreditOnboardingRepository>()),
);
///Digio Service
getIt.registerFactory<DigioService>(() => DigioService());
///Kyc Detail
getIt.registerFactory(
() => KycBloc(
repository: getIt<CreditOnboardingRepository>(),
digioService: getIt<DigioService>(),
),
);
///Bank Detail
getIt.registerFactory(
() => BankDetailBloc(repository: getIt<CreditOnboardingRepository>()),
);
///Easebuzz Payment Service
getIt.registerLazySingleton(() => EaseBuzzPaymentService());
///Cashfree Payment Service
getIt.registerLazySingleton(() => CashfreePaymentService());
///Razorpay Payment Service
getIt.registerLazySingleton(() => RazorpayPaymentService());
///Down Payment
getIt.registerFactory(
() => DownPaymentBloc(
repository: getIt<CreditOnboardingRepository>(),
cashfreePaymentService: getIt<CashfreePaymentService>(),
easeBuzzPaymentService: getIt<EaseBuzzPaymentService>(),
razorpayPaymentService: getIt<RazorpayPaymentService>(),
),
);
}