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.
Mark Wubben
1458591bd8
|
8 years ago | |
---|---|---|
.editorconfig | 8 years ago | |
.gitattributes | 8 years ago | |
.gitignore | 8 years ago | |
.travis.yml | 8 years ago | |
index.js | 8 years ago | |
license | 8 years ago | |
package.json | 8 years ago | |
readme.md | 8 years ago | |
test.js | 8 years ago |
readme.md
quick-lru
Useful when you need to cache something and limit memory usage.
Inspired by the haslru
algorithm, but instead uses Map
to support keys of any type, not just strings, and values can be undefined
.
Install
$ npm install --save 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: Object
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.
.clear()
Delete all items.
.keys()
Iterable for all the keys.
.values()
Iterable for all the values.
.size
Get the item count.
License
MIT © Sindre Sorhus