cavalcade
cavalcade provides a set of queue-like data structures.
Install
$ npm install --save cavalcade
Example
const cavalcade = require('cavalcade')
const fifoQueue = cavalcade.fifoQueue(4, [1, 2, 3, 4])
fifo.size
fifo.length
fifo.pop()
fifo.size
fifo.length
fifo.push(5)
fifo.push(6)
fifo.pop()
Queues
-
cavalcade.fifoQueue(size: number, initial: array):
Provides a "first in first out" queue of a given size (or 16 slots) with
an optional set of initial values. Items are automatically dequeued when
the queue is full and a new item is added.
Supports the following properties/methods:
size: the number or slots allocated to the queue. This will not change
after initialization.
length: the number of items in the queue. This will change with
enqueues and dequeues.
push(item): adds an item to the queue.
pop(): retrieves and removes the first item in the queue. Returns null
if there are no items available.
values(): returns an iterator that can be used to examine the values
in the queue without modifying the queue. Note: if the queue changes while
you are iterating it the values may not be what you are expecting.
[@@iterator]: returns the same iterator as values()
-
cavalcade.lifoQueue(size: number, initial: array):
Provides a "last in first out" queue, or stack, of a given size (or 16
slots) with an optional set of initial values. Items are automatically
dequeued when the queue is full and a new item is added.
Supports the following properties/methods:
size: the number or slots allocated to the queue. This will not change
after initialization.
length: the number of items in the queue. This will change with
enqueues and dequeues.
push(item): adds an item to the queue.
pop(): retrieves and removes the first item in the queue. Returns null
if there are no items available.
values(): returns an iterator that can be used to examine the values
in the queue without modifying the queue. Note: if the queue changes while
you are iterating it the values may not be what you are expecting.
[@@iterator]: returns the same iterator as values()
License
MIT License