setupToolPurchasesDI function
Future<void>
setupToolPurchasesDI(
- GetIt getIt, {
- required ToolPurchasesLocalization localization(),
- bool isFakeApi = false,
Implementation
Future<void> setupToolPurchasesDI(
GetIt getIt, {
required ToolPurchasesLocalization Function() localization,
bool isFakeApi = false,
}) async {
//data
getIt.registerSingletonWithDependencies<StoreStorageProvider>(
() => StoreStorageProviderImpl(getIt.get()),
dependsOn: [PreferencesProvider],
);
getIt.registerLazySingleton<PurchasesErrorHandlerProvider>(
() => PurchasesErrorHandlerProvider(localization: localization));
//domain
getIt.registerSingletonWithDependencies<PurchasesRepository>(
() {
final appInfoRepository = getIt.get<AppInfoRepository>();
return isFakeApi
? FakePurchasesRepositoryImpl()
: (!IOSStoreSupport && appInfoRepository.isAndroid) ||
appInfoRepository.isMobile
? InAppPurchasesRepositoryImpl(
inAppPurchase: InAppPurchase.instance,
storeStorageProvider: getIt.get(),
)
: StubPurchasesRepositoryImpl();
},
dependsOn: [StoreStorageProvider],
);
}