Current section

Files

Jump to
spellweaver priv bun node_modules cspell-lib dist lib util simpleCache.d.ts
Raw

priv/bun/node_modules/cspell-lib/dist/lib/util/simpleCache.d.ts

export declare class SimpleWeakCache<K extends object, T> {
readonly size: number;
private L0;
private L1;
private L2;
private sizeL0;
constructor(size: number);
has(key: K): boolean;
get(key: K): T | undefined;
set(key: K, value: T): void;
private _set;
private caches;
private rotate;
}
export declare class AutoWeakCache<K extends object, T> extends SimpleWeakCache<K, T> {
readonly factory: (key: K) => T;
constructor(factory: (key: K) => T, size: number);
get(key: K): T;
}
/**
* This will cache between `size` and 3 x `size` items.
* It has three stashes, L0, L1, and L2. Each can contain `size` items.
* When L0 is full, its items are given to L1 and L1's are given to L2, and L2 is empties.
*
* The stashes are searched in order, L0...L2. If an item is found in L1, or L2, it is
* promoted to L0.
*/
export declare class SimpleCache<K, T> {
readonly size: number;
private L0;
private L1;
private L2;
constructor(size: number);
has(key: K): boolean;
get(key: K): T | undefined;
set(key: K, value: T): void;
delete(key: K): boolean;
private _set;
private caches;
private rotate;
}
export declare class AutoCache<K, T> extends SimpleCache<K, T> {
readonly factory: (key: K) => T;
constructor(factory: (key: K) => T, size: number);
get(key: K): T;
}
//# sourceMappingURL=simpleCache.d.ts.map