A lightweight circular queue, useful for situations where losing stale data is preferable to unchecked memory growth.
Clone this repository:
$ npm install circular-queue
Now, instantiate a queue with a fixed maximum size:
var CircularQueue = require('circular-queue');
var queue = new CircularQueue(10);
...offer
it some items:
queue.offer('one');
queue.offer('two');
queue.offer('three');
...and peek
at or poll
them from the queue:
queue.peek(); // 'one'
queue.poll(); // 'one'
queue.peek(); // 'two'
Instances of CircularQueue
will emit:
'evict'
- when stale items are evicted from the queue
Lint and run test suite:
$ npm test
MIT