setup method

void setup()

Implementation

void setup() {
  // API
  coreLocator.registerFactory(
    () => ImageApi(
      settings:
          coreLocator.get<PreferencesSettings>(instanceName: 'preferences'),
    ),
  );

  // DataSource
  coreLocator.registerFactory<ImageRemoteDataSource>(
    () => ImageRemoteDstaSourceImpl(
      api: coreLocator.get<ImageApi>(),
    ),
  );

  // Repository
  coreLocator.registerFactory<ImageRepository>(
    () => ImageRepositoryImpl(
      remoteDataSource: coreLocator.get<ImageRemoteDataSource>(),
    ),
  );

  // UseCases
  coreLocator
      .registerFactory(() => GetImageUseCase(repository: coreLocator.get()));
  coreLocator.registerFactory(
    () => ParseImageUrlUseCase(
      repository: coreLocator.get<ImageRepository>(),
    ),
  );
}