README
Queue
SlimIO - Simple Queue system
Getting Started
This package is available in the Node Package Repository and can be easily installed with npm or yarn.
$ npm i @slimio/queue
# or
$ yarn add @slimio/queue
Usage exemple
const Queue = require("@slimio/queue");
const queue = new Queue();
queue.enqueue("foo", "bar");
console.log(queue.idLenght("foo")); // 1
console.log(queue.dequeue("foo")); // "bar"
API
declare namespace Queue {
type id = string|number|symbol;
}
Queue.enqueue(id: Queue.id, value: any): void;
Enqueue data in a queue
const queue = new Queue();
queue.enqueue(100, 1);
queue.enqueue(100, 2);
queue.enqueue("foo", "bar");
Queue.dequeue(id: Queue.id): any;
Dequeue the first data that was enqueued in a queue
const queue = new Queue();
queue.enqueue(100, 1);
queue.enqueue("foo", "bar");
console.log(queue.dequeue(100)); // 1
console.log(queue.dequeue("foo")); // "bar"
;
Queue.dequeueAll(id: Queue.id): IteratorDequeue all data that was enqueued in a queue
const queue = new Queue();
queue.enqueue(100, 1);
queue.enqueue(100, 2);
queue.enqueue(100, 3);
const data = [...queue.dequeueAll(100)];
console.log(data); // [1, 2, 3]
Queue.has(id: Queue.id): boolean;
Check if a QueueID exist
const queue = new Queue();
queue.enqueue("foo", "bar");
console.log(queue.has("foo")); // true
console.log(queue.has("fo")); // false
Queue.ids(): string[];
Get all queues keys
const queue = new Queue();
queue.enqueue(100, 1);
queue.enqueue("foo", "bar");
queue.enqueue("test", 20);
console.log(queue.ids()); // [100, "foo", "test"]
Queue.idLength(id: Queue.id): Number;
Return the number of elements of a given QueueID.
const queue = new Queue();
queue.enqueue("test", 20);
queue.enqueue("test", 21);
queue.enqueue("test", 22);
console.log(queue.idLength("test")); // 3
LICENCE
MIT