Documentation / @andrew_l/toolkit / LruCache
Class: LruCache<TKey, TValue> ​
A simple implementation of a Least Recently Used (LRU) cache. This cache stores key-value pairs and ensures that the most recently accessed items are kept in the cache, while the least recently used items are evicted when the cache reaches its capacity.
The cache is implemented as a doubly linked list where the head represents the most recently accessed item, and the tail represents the least recently accessed item. When the cache is full, the least recently used item (tail) is removed to make space for new items.
Type Parameters ​
TKey ​
TKey = any
TValue ​
TValue = any
Constructors ​
Constructor ​
new LruCache<
TKey,TValue>(capacity):LruCache<TKey,TValue>
Parameters ​
capacity ​
number
Returns ​
LruCache<TKey, TValue>
Properties ​
size ​
size:
number
Methods ​
[iterator]() ​
[iterator]():
object
Returns ​
object
[iterator]() ​
[iterator](): { [Symbol.iterator](): ...; next(): { done: boolean; value: undefined; } | { done: boolean; value: (TKey | TValue | undefined)[]; }; }
Returns ​
{ [Symbol.iterator](): ...; next(): { done: boolean; value: undefined; } | { done: boolean; value: (TKey | TValue | undefined)[]; }; }
next() ​
next(): {
done:boolean;value:undefined; } | {done:boolean;value: (undefined|TKey|TValue)[]; }
Returns ​
{ done: boolean; value: undefined; } | { done: boolean; value: (undefined | TKey | TValue)[]; }
clear() ​
clear():
void
Method used to clear the structure.
Returns ​
void
delete() ​
delete(
key):void
Parameters ​
key ​
TKey
Returns ​
void
entries() ​
entries():
object
Method used to create an iterator over the cache's entries from most recently used to least recently used.
Returns ​
object
[iterator]() ​
[iterator](): { [Symbol.iterator](): ...; next(): { done: boolean; value: undefined; } | { done: boolean; value: (TKey | TValue | undefined)[]; }; }
Returns ​
{ [Symbol.iterator](): ...; next(): { done: boolean; value: undefined; } | { done: boolean; value: (TKey | TValue | undefined)[]; }; }
next() ​
next(): {
done:boolean;value:undefined; } | {done:boolean;value: (undefined|TKey|TValue)[]; }
Returns ​
{ done: boolean; value: undefined; } | { done: boolean; value: (undefined | TKey | TValue)[]; }
get() ​
get(
key):undefined|TValue
Parameters ​
key ​
TKey
Returns ​
undefined | TValue
has() ​
has(
key):boolean
Parameters ​
key ​
TKey
Returns ​
boolean
keys() ​
keys():
IterableIterator<TKey>
Method used to create an iterator over the cache's keys from most recently used to least recently used.
Returns ​
IterableIterator<TKey>
peek() ​
peek(
key):undefined|TValue
Method used to get the value attached to the given key. Does not modify the ordering of the underlying linked list.
Parameters ​
key ​
TKey
Returns ​
undefined | TValue
set() ​
set(
key,value):this
Parameters ​
key ​
TKey
value ​
TValue
Returns ​
this
splayOnTop() ​
splayOnTop(
pointer):this
Method used to splay a value on top.
Parameters ​
pointer ​
number
Pointer of the value to splay on top.
Returns ​
this
values() ​
values():
IterableIterator<TValue>
Method used to create an iterator over the cache's values from most recently used to least recently used.
Returns ​
IterableIterator<TValue>