@iter-tools/queue

A simple es6 linked FIFO queue in the pattern of es6 Map
and Set
. Includes typescript libdefs. Suitable for node or browser environments. Supports native es imports in node > 13.2
.
Usage
const Queue = require('@iter-tools/queue');
import Queue from '@iter-tools/queue';
const q = new Queue([1, 2, 3]);
q.push(4);
[...q];
q.size;
q.shift();
q.shift();
q.shift();
q.shift();
q.size;
q.shift();
Until Typescript supports package exports you must enable esModuleInterop
to use this module.
API
class Queue<T> {
static isQueue(inst): boolean;
constructor(values?: Iterable<T>);
size: number;
clear();
peek(): T | undefined;
shift(): T | undefined;
push(value: T);
forEach(
cb: (value: T, index: number, queue: Queue) => any,
);
keys(): IterableIterator<number>;
values(): IterableIterator<T>;
entries(): IterableIterator<[number, T]>;
[Symbol.iterator](): IterableIterator<T>;
}