You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
15 lines
660 B
15 lines
660 B
import { GeocodingProvider } from './clients/geocoding/types';
|
|
import { WeatherProvider } from './clients/weather/types';
|
|
import { PackagesRepository } from './storage/types';
|
|
|
|
export const packagesRepositoryDependency = Symbol('packages repository');
|
|
export const geocodingProviderDependency = Symbol('geocoding provider');
|
|
export const weatherProviderDependency = Symbol('weather provider');
|
|
|
|
export type Dependencies = {
|
|
[packagesRepositoryDependency]: PackagesRepository;
|
|
[geocodingProviderDependency]: GeocodingProvider;
|
|
[weatherProviderDependency]: WeatherProvider;
|
|
};
|
|
|
|
export type Dependency<T extends keyof Dependencies> = Dependencies[T];
|
|
|