This module provides the Queue
class for managing a priority-based queue.
npm install @vvlad1973/simple-queue
import Queue from '@vvlad1973/simple-queue';
const queue = new Queue<string>(10);
queue.enqueue('task1', 5);
queue.enqueue('task2', 1);
console.log(queue.front); // 'task2' (higher priority)
queue.dequeue();
console.log(queue.size); // 1
new Queue<T>(limitSize?: number)
-
limitSize
(optional, default:Infinity
) – The maximum number of items the queue can hold.
-
limitSize: number
– The maximum size of the queue. -
contents: QueueItem<T>[]
– Retrieves the contents of the queue. -
size: number
– Retrieves the current size of the queue. -
front: T | undefined
– Retrieves the item at the front of the queue.
Adds an item to the queue with a specified priority.
-
item: T
– The item to be added. -
priority: number
(optional, default:Number.MAX_VALUE
) – The priority of the item. -
Returns
true
if the item was added. -
Throws
OverloadError
if the queue is full.
Removes and returns the item with the highest priority.
-
Returns the removed item or
undefined
if the queue is empty.
Clears the contents of the queue.
Checks if the queue is empty.
-
Returns
true
if the queue is empty, otherwisefalse
.
MIT License with Commercial Use