layered-loader
Version:
Data loader with support for caching and fallback data sources
15 lines (14 loc) • 810 B
TypeScript
import type { DataSource } from './types/DataSources';
export type GeneratedDataSourceParams<LoadedValue, LoaderParams = undefined> = {
name?: string;
dataSourceGetOneFn?: (loadParams: LoaderParams) => Promise<LoadedValue | undefined | null>;
dataSourceGetManyFn?: (keys: string[], loadParams?: LoaderParams) => Promise<LoadedValue[]>;
};
export declare class GeneratedDataSource<LoadedValue, LoadParams = undefined> implements DataSource<LoadedValue, LoadParams> {
private readonly getOneFn;
private readonly getManyFn;
readonly name: string;
constructor(params: GeneratedDataSourceParams<LoadedValue, LoadParams>);
get(loadParams: LoadParams): Promise<LoadedValue | undefined | null>;
getMany(keys: string[], loadParams: LoadParams | undefined): Promise<LoadedValue[]>;
}