setup method
Implementation
Future<void> setup() async {
// SharedPreferences
SharedPreferences sharedPreferences = await SharedPreferences.getInstance();
coreLocator.registerSingleton<SharedPreferences>(sharedPreferences);
// preferences settings
coreLocator.registerLazySingleton<PreferencesSettings>(
() => PreferencesSettingsImpml(
sharedPrefs: coreLocator.get<SharedPreferences>(),
),
instanceName: 'preferences',
);
// repository
coreLocator.registerFactory<PreferencesRepository>(
() => PreferencesRepositoryImpl(
settings:
coreLocator.get<PreferencesSettings>(instanceName: 'preferences'),
),
);
// use cases
coreLocator.registerFactory(
() => ClearSelectedItemsUseCase(
repository: coreLocator.get<PreferencesRepository>(),
),
);
coreLocator.registerFactory(
() => ClearTokenUseCase(
repository: coreLocator.get<PreferencesRepository>(),
),
);
coreLocator.registerFactory(
() => ClearUserUseCase(
repository: coreLocator.get(),
),
);
coreLocator.registerFactory(() => GetAppStateUseCase(coreLocator.get()));
coreLocator.registerFactory(
() => GetSelectedItemsStreamUseCase(
repository: coreLocator.get<PreferencesRepository>(),
),
);
coreLocator.registerFactory(
() => GetSelectedItemsUseCase(
repository: coreLocator.get<PreferencesRepository>(),
),
);
coreLocator.registerFactory(
() => UpdateSelectedItemUsecase(
repository: coreLocator.get<PreferencesRepository>(),
),
);
coreLocator.registerFactory(
() => GetRememberCredentialUseCase(
repository: coreLocator.get<PreferencesRepository>(),
),
);
coreLocator.registerFactory(
() => SetRememberCredentialUseCase(
repository: coreLocator.get<PreferencesRepository>(),
),
);
coreLocator.registerFactory(
() => ClearRememberCredentialUseCase(
repository: coreLocator.get<PreferencesRepository>(),
),
);
coreLocator.registerFactory(
() => ClearKeysPreferencesUseCase(
repository: coreLocator.get<PreferencesRepository>(),
),
);
}