setup method

void setup()

Implementation

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

  // data source
  coreLocator.registerFactory<TokenRemoteDataSource>(
    () => TokenRemoteDataSourceImpl(
      api: coreLocator.get<TokenApi>(),
    ),
  );

  // repository
  coreLocator.registerFactory<TokenRepository>(
    () => TokenRepositoryImpl(
      remoteDataSource: coreLocator.get<TokenRemoteDataSource>(),
      settings:
          coreLocator.get<PreferencesSettings>(instanceName: 'preferences'),
    ),
  );

  // use cases
  coreLocator.registerFactory<LoginUseCase>(
    () => LoginUseCaseImpl(
      repository: coreLocator.get<TokenRepository>(),
    ),
  );
  coreLocator.registerFactory(
    () => LogoutUseCase(
      repository: coreLocator.get<TokenRepository>(),
    ),
  );
  coreLocator.registerFactory(
    () => SetTokenUseCase(
      repository: coreLocator.get<TokenRepository>(),
    ),
  );
  coreLocator.registerFactory(
    () => GetTokenUseCase(
      repository: coreLocator.get<TokenRepository>(),
    ),
  );
}