You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
2 years ago | |
---|---|---|
.. | ||
index.d.ts | 2 years ago | |
index.js | 2 years ago | |
license | 2 years ago | |
package.json | 2 years ago | |
readme.md | 2 years ago |
readme.md
quick-lru

Useful when you need to cache something and limit memory usage.
Inspired by the hashlru
algorithm, but instead uses Map
to support keys of any type, not just strings, and values can be undefined
.
Install
$ npm install quick-lru
Usage
const QuickLRU = require('quick-lru');
const lru = new QuickLRU({maxSize: 1000});
lru.set('🦄', '🌈');
lru.has('🦄');
//=> true
lru.get('🦄');
//=> '🌈'
API
new QuickLRU(options?)
Returns a new instance.
options
Type: object
maxSize
Required
Type: number
The maximum number of items before evicting the least recently used items.
Instance
The instance is iterable
so you can use it directly in a for…of
loop.
Both key
and value
can be of any type.
.set(key, value)
Set an item. Returns the instance.
.get(key)
Get an item.
.has(key)
Check if an item exists.
.peek(key)
Get an item without marking it as recently used.
.delete(key)
Delete an item.
Returns true
if the item is removed or false
if the item doesn't exist.
.clear()
Delete all items.
.keys()
Iterable for all the keys.
.values()
Iterable for all the values.
.size
The stored item count.