JSPM

@slimio/queue

0.2.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 2
  • Score
    100M100P100Q39766F
  • License MIT

Simple Node.js Queue

Package Exports

  • @slimio/queue

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@slimio/queue) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Queue

Maintenance GitHub license V1.0 Known Vulnerabilities

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): Iterator;

Dequeue 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