find-node-modules
Version:
Return an array of all parent node_modules directories
97 lines (50 loc) β’ 1.99 kB
Markdown
> Simple ["Least Recently Used" (LRU) cache](https://en.m.wikipedia.org/wiki/Cache_replacement_policies#Least_Recently_Used_.28LRU.29)
Useful when you need to cache something and limit memory usage.
Inspired by the [`haslru` algorithm](https://github.com/dominictarr/hashlru#algorithm), but instead uses [`Map`](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Map) to support keys of any type, not just strings, and values can be `undefined`.
```
$ npm install quick-lru
```
```js
const QuickLRU = require('quick-lru');
const lru = new QuickLRU({maxSize: 1000});
lru.set('π¦', 'π');
lru.has('π¦');
//=> true
lru.get('π¦');
//=> 'π'
```
Returns a new instance.
Type: `Object`
*Required*<br>
Type: `Object`
Maximum number of items before evicting the least recently used items.
The instance is [`iterable`](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Iteration_protocols) so you can use it directly in a [`forβ¦of`](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Statements/for...of) loop.
Both `key` and `value` can be of any type.
Set an item. Returns the instance.
Get an item.
Check if an item exists.
Get an item without marking it as recently used.
Delete an item.
Delete all items.
Iterable for all the keys.
Iterable for all the values.
Get the item count.
MIT Β© [Sindre Sorhus](https://sindresorhus.com)