UNPKG

cspell-lib

Version:

A library of useful functions used across various cspell tools.

54 lines 1.47 kB
interface LLNode<T> { value: T; n?: LLNode<T> | undefined; p?: LLNode<T> | undefined; } interface LL<T> { n?: LLNode<T> | undefined; p?: LLNode<T> | undefined; } export declare class AutoResolveLRUCache<T, V> { readonly maxSize: number; readonly isEqual: (a: T, b: T) => boolean; protected list: LL<{ p: T; r: V; }>; private count; private _misses; private _hits; private _added; private _removed; constructor(maxSize: number, isEqual: (a: T, b: T) => boolean); get(params: T): V | undefined; get(params: T, fn: (p: T) => V): V; get(params: T, fn?: (p: T) => V): V | undefined; get size(): number; get hits(): number; get misses(): number; get added(): number; get removed(): number; clear(): void; private addToHead; stats(): { size: number; hits: number; misses: number; added: number; removed: number; }; toJSON(): { size: number; hits: number; misses: number; added: number; removed: number; }; static assertValid<T, V>(cache: AutoResolveLRUCache<T, V>): void; } export declare function assertValidateLL<T>(list: LL<T>): void; export declare class AutoResolveLastNCalls<Params extends unknown[], Result> extends AutoResolveLRUCache<Params, Result> { constructor(maxSize: number); } export {}; //# sourceMappingURL=AutoResolveLRUCache.d.ts.map