UNPKG

batchloader

Version:

BatchLoader is a utility for data fetching layer to reduce requests via batching written in TypeScript. Inspired by Facebook's DataLoader

22 lines 977 B
import { MappedBatchLoader } from './mappedbatchloader'; import { IBatchLoader, MaybePromise } from './types'; export interface ICache<Key, Value> { clear(): void; delete(key: Key): boolean; get(key: Key): Value | undefined; set(key: Key, value: Value): void; } export declare class CacheLoader<Key, Value> implements IBatchLoader<Key, Value>, ICache<Key, MaybePromise<Value>> { protected loader: IBatchLoader<Key, Value>; cache: ICache<Key, Value>; promiseCache: Map<Key, Promise<Value>>; constructor(loader: IBatchLoader<Key, Value>, cache?: ICache<Key, Value>); load(key: Key): Promise<Value>; loadMany(keys: Key[]): Promise<Value[]>; mapLoader<MappedValue>(mapFn: (value: Value, key: Key) => MappedValue): MappedBatchLoader<Key, Value, MappedValue>; get(key: Key): Promise<Value> | undefined; set(key: Key, value: Value): void; delete(key: Key): boolean; clear(): void; } //# sourceMappingURL=cacheloader.d.ts.map