UNPKG

@wireapp/lru-cache

Version:

Least Recently Used (LRU) Cache for JavaScript and TypeScript.

29 lines (28 loc) 735 B
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>; }