npm install lru-queue_Originally derived from memoizee package._
It's low-level utility meant to be used internally within cache algorithms. It backs up max functionality in memoizee project.
$ npm install lru-queue
To port it to Browser or any other (non CJS) environment, use your favorite CJS bundler. No favorite yet? Try: Browserify, Webmake or Webpack
Create queue, and provide a limit
``javascript`
var lruQueue = require('lru-queue');
var queue = lruQueue(3); // limit size to 3
Each queue exposes three methods:
#### queue.hit(id)
Registers hit for given _id_ (must be plain string).
`javascript`
queue.hit('raz'); // size: 1
If hit doesn't remove any old item from list it returns undefined, otherwise it returns removed _id_.
`javascript
queue.hit('dwa'); // undefined, size: 2
queue.hit('trzy'); // undefined, size: 3 (at max)
queue.hit('raz'); // undefined, size: 3 (at max)
queue.hit('dwa'); // undefined, size: 3 (at max)
queue.hit('cztery'); // 'trzy', size: 3 (at max)
`
#### queue.delete(id);
_id's_ can be cleared from queue externally
`javascript`
queue.delete('raz'); // size: 2
queue.delete('cztery'); // size: 1
#### queue.clear();
Resets queue
`javascript``
queue.clear(); // size: 0
$ npm test