@wireapp/lru-cache
Version:
Least Recently Used (LRU) Cache for JavaScript and TypeScript.
29 lines (28 loc) • 735 B
TypeScript
export declare type NodeMap<T> = Record<string, T>;
export interface Node<T> {
key: string;
next: Node<T> | null;
previous: Node<T> | null;
value: T;
}
export declare class LRUCache<T> {
readonly capacity: number;
private map;
private head;
private end;
constructor(capacity?: number);
delete(key: string): boolean;
deleteAll(): void;
get(key: string): T | undefined;
getAll(): NodeMap<T>;
keys(): string[];
latest(): T | null;
oldest(): T | null;
private remove;
set(key: string, value: T): T | undefined;
setOnce(key: string, value: T): T | undefined;
private setHead;
size(): number;
toString(): string;
[Symbol.iterator](): Iterator<T>;
}