@studyportals/sp-hs-misc
Version:
Miscellaneous code used in HouseStark's projects
19 lines (18 loc) • 774 B
TypeScript
import { ICache } from "../caching/i-cache.interface";
declare class EagerInMemoryCache<TKey = any, TData = any> implements ICache<TKey, TData> {
private _cache;
private _promiseToBuildTheCache;
private get cache();
private get promiseToBuildTheCache();
constructor();
get(key: TKey): Promise<TData>;
protected obtainCache(): Promise<Map<TKey, TData>>;
protected isCacheBuilt(): boolean;
protected acquireCache(): Promise<Map<TKey, TData>>;
protected isCacheBeingBuilt(): boolean;
protected buildCache(): Promise<Map<TKey, TData>>;
protected retrieveData(): Promise<TData[]>;
protected createCacheFromData(data: TData[]): Map<TKey, TData>;
protected extractKey(dataItem: TData): TKey;
}
export { EagerInMemoryCache };