Skip to content

queue-lit is a tiny queue data structure in case you `Array#push()` or `Array#shift()` on large arrays very often.

License

Notifications You must be signed in to change notification settings

joelvoss/queue-lit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

May 15, 2024
29db694 · May 15, 2024

History

62 Commits
May 15, 2024
May 15, 2024
May 15, 2024
Apr 4, 2021
May 15, 2024
May 15, 2024
May 15, 2024
May 15, 2024
May 15, 2024
May 15, 2024
May 15, 2024
May 15, 2024
May 15, 2024

Repository files navigation

queue-lit

This package is a tiny queue data structure in case you Array#push() or Array#shift() on large arrays very often.
Array#shift() has linear time complexity O(n) while Queue#push() has constant time complexity O(1).

Installation

$ npm i queue-lit
# or
$ yarn add queue-lit

Usage

import { Queue } from 'queue-lit';

const queue = new Queue();

queue.push('Hello');
queue.push('World');

console.log(queue.size);
// => 2

console.log(...queue);
// => 'Hello World'

console.log(queue.pop());
//=> 'Hello'

console.log(queue.pop());
//=> 'World'

API

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.

.push(value)

Adds one element to the end of the queue and returns the new length of the queue.
This method changes the size of the queue.

.pop()

Pop removes the last element from the queue and returns that element.
This method changes the size of the queue.

Returns undefined if the queue is empty.

.clear()

Clears the queue and removes all elements.
This method changes the size of the queue.

.size

Static method that returns the size of the queue.

Development

(1) Install dependencies

$ npm i

(2) Run initial validation

$ ./Taskfile.sh validate

(3) Start developing. See ./Taskfile.sh for more tasks to help you develop.


About

queue-lit is a tiny queue data structure in case you `Array#push()` or `Array#shift()` on large arrays very often.

Resources

License

Stars

Watchers

Forks