UNPKG

layered-loader

Version:

Data loader with support for caching and fallback data sources

15 lines (14 loc) 952 B
import type { DataSource } from './types/DataSources'; export type GeneratedDataSourceParams<LoadedValue, LoaderParams = undefined, LoaderManyParams = LoaderParams> = { name?: string; dataSourceGetOneFn?: (loadParams: LoaderParams) => Promise<LoadedValue | undefined | null>; dataSourceGetManyFn?: (keys: string[], loadParams?: LoaderManyParams) => Promise<LoadedValue[]>; }; export declare class GeneratedDataSource<LoadedValue, LoadParams = undefined, LoadManyParams = LoadParams extends string ? undefined : LoadParams> implements DataSource<LoadedValue, LoadParams, LoadManyParams> { private readonly getOneFn; private readonly getManyFn; readonly name: string; constructor(params: GeneratedDataSourceParams<LoadedValue, LoadParams, LoadManyParams>); get(loadParams: LoadParams): Promise<LoadedValue | undefined | null>; getMany(keys: string[], loadParams: LoadManyParams | undefined): Promise<LoadedValue[]>; }