abit-cache
Version:
React cache library from scratch
25 lines (24 loc) • 1.01 kB
TypeScript
import { TCacheEntry, TKey } from '../types/cache-types';
declare class AbitCache {
#private;
static getInstance(): AbitCache;
get(key: TKey): TCacheEntry | undefined;
set(key: TKey, value: TCacheEntry): Map<string, TCacheEntry>;
delete(key: TKey): boolean;
has(key: TKey): boolean;
clear(): void;
deleteMatching(pattern: string): void;
addRequest(key: TKey, controller: AbortController): void;
cancelRequest(key: TKey): void;
deleteRequest(key: TKey): boolean;
clearRequests(): void;
setSuspensePromise(key: TKey, promise: Promise<void>): Map<string, Promise<void>>;
getSuspensePromise(key: TKey): Promise<void> | undefined;
deleteSuspensePromise(key: TKey): boolean;
clearSuspensePromise(): void;
setKeyLastRequestTime(key: TKey, timestamp: number): Map<string, number>;
getLastKeyRequestTime(key: TKey): number | undefined;
deleteLastKeyRequestTime(key: TKey): boolean;
clearKeyLastRequestTimes(): void;
}
export default AbitCache;