UNPKG

@golemio/parkings

Version:
13 lines (12 loc) 878 B
import { IBedrichovParking } from "../../../schema-definitions/datasources/interfaces/IBedrichovParking"; import { IMrParkitGarageWithTariff } from "../../../schema-definitions/datasources/interfaces/IMrParkitGarage"; import { ParkingProvider } from "../helpers/ParkingProviderEnum"; import { IDataSourceProvider } from "./IDataSourceProvider"; export type DataSourceProviderDict = { [ParkingProvider.MrParkit]: IDataSourceProvider<IMrParkitGarageWithTariff[]>; [ParkingProvider.Bedrichov]: IDataSourceProvider<IBedrichovParking[]>; }; export type DataSourceReturnType<T extends ParkingProvider> = ReturnType<DataSourceProviderDict[T]["getDataSource"]>; export interface IParkingProviderDataSourceFactory { getDataSource<T extends ParkingProvider>(presetLogsProvider: T, ...params: Parameters<DataSourceProviderDict[T]["getDataSource"]>): DataSourceReturnType<T>; }