Tiny queue data structure
You should use this package instead of an array if you do a lot of
Array#shift() on large arrays, since
Array#shift() has linear time complexity O(n) while
Queue#dequeue() has constant time complexity O(1). That makes a huge difference for large arrays.
A queue is an ordered list of elements where an element is inserted at the end of the queue and is removed from the front of the queue. A queue works based on the first-in, first-out (FIFO) principle.
$ npm install yocto-queue
import Queue from 'yocto-queue'; const queue = new Queue(); queue.enqueue('🦄'); queue.enqueue('🌈'); console.log(queue.size); //=> 2 console.log(...queue); //=> '🦄 🌈' console.log(queue.dequeue()); //=> '🦄' console.log(queue.dequeue()); //=> '🌈'
queue = new Queue()
The instance is an
Iterable, which means you can iterate over the queue front to back with a “for…of” loop, or use spreading to convert the queue to an array. Don't do this unless you really need to though, since it's slow.
Add a value to the queue.
Remove the next value in the queue.
Returns the removed value or
undefined if the queue is empty.
Clear the queue.
The size of the queue.