@supercharge/queue-datastructure
v2.1.0
Published
A no-dependency, in-memory queue data structure for Node.js and JavaScript
Downloads
2,803
Readme
Installation
npm i @supercharge/queue-datastructure
Usage
Using the queue data structure is pretty straightforward. The library exposes a Queue
class that you can use to create a queue instance. You can create a queue from existing data or an empty one:
const Queue = require('@supercharge/queue-datastructure')
// create a queue from an existing array
const queue = new Queue([ 1, 2, 3 ])
// or, create a queue from individual items
const queue = new Queue(1, 2, 3)
// or, create an empty queue
const queue = new Queue()
API
.enqueue(items)
Push new items
to the end of the queue.
queue
.enqueue(1)
.enqueue(2, 3)
.enqueue([ 4, 5, 6])
// Queue: 1, 2, 3, 4, 5, 6
.dequeue()
Remove and return the item which is up for processing. Returns undefined
if the queue is empty.
queue.enqueue(1, 2, 3)
queue.size() // 3
queue.dequeue() // 1
queue.size() // 2
.peek()
Returns the first item without removing it from the queue. Returns undefined
if the queue is empty.
queue.enqueue(1, 2, 3)
queue.peek() // 1
.size()
Returns the number of items in the queue.
queue.size() // 0
queue.enqueue(1, 2)
queue.size() // 2
.isEmpty()
Returns true
if there are no items in the queue, false
otherwise.
queue.isEmpty() // true
queue.enqueue(1)
queue.isEmpty() // false
.isNotEmpty()
Returns true
if there are items in the queue, false
when the queue is empty.
queue.isNotEmpty() // false
queue.enqueue(1)
queue.isNotEmpty() // true
.clear()
Removes all items from the queue.
queue.clear()
queue.size() // 0
Contributing
- Create a fork
- Create your feature branch:
git checkout -b my-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request 🚀
License
MIT © Supercharge
superchargejs.com · GitHub @supercharge · Twitter @superchargejs