setup method

void setup()

Implementation

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

  //datasource
  coreLocator.registerFactory<RouteRemoteDataSource>(
    () => RouteRemoteDataSourceImpl(
      api: coreLocator.get<RouteApi>(),
    ),
  );

  // repository
  coreLocator.registerFactory<RouteRepository>(
    () => RouteRepositoryImpl(
      remoteDataSource: coreLocator.get<RouteRemoteDataSource>(),
      settings:
          coreLocator.get<PreferencesSettings>(instanceName: 'preferences'),
    ),
  );

  // use cases
  coreLocator.registerFactory(
    () => CreateRouteUseCase(
      repository: coreLocator.get<RouteRepository>(),
    ),
  );
  coreLocator.registerFactory(
    () => GetRoutesByParamsUseCase(
      repository: coreLocator.get<RouteRepository>(),
    ),
  );
  coreLocator.registerFactory(
    () => GetRouteByIdUseCase(
      repository: coreLocator.get<RouteRepository>(),
    ),
  );
  coreLocator.registerFactory(
    () => UpdateRouteUseCase(
      repository: coreLocator.get<RouteRepository>(),
    ),
  );
  coreLocator.registerFactory(
    () => SetRoutesUseCase(
      repository: coreLocator.get<RouteRepository>(),
    ),
  );
  coreLocator.registerFactory(
    () => GetRoutesUseCase(
      repository: coreLocator.get<RouteRepository>(),
    ),
  );
}