@stnekroman/tstools
Version:
Set of handy tools for TypeScript development
11 lines (10 loc) • 465 B
TypeScript
import { LoadingCache } from './LoadingCache';
export declare abstract class ThrottledCache<T, ARGS extends unknown[] = [string], KEY = string> extends LoadingCache<T, ARGS, KEY> {
private readonly queue;
private readonly throttledLoadFn;
constructor(timeout?: number, mapImpl?: Map<KEY, Promise<T>>);
get(...args: ARGS): Promise<T>;
loadAll(argsArray: ARGS[]): Promise<PromiseSettledResult<T>[]>;
private processQueue;
clear(): void;
}