LimePot
76722fec47
Going to slowly work on a Bulma site, which will end up being the main site. Currently under the /BETA/ folder so Alpha site will still be main site.
2 KiB
2 KiB
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.