1.0.2 • Published 4 months ago
@vvlad1973/simple-queue v1.0.2
Queue Class
This module provides the Queue
class for managing a priority-based queue.
Installation
npm install @vvlad1973/simple-queue
Usage
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
API
Constructor
new Queue<T>(limitSize?: number)
limitSize
(optional, default:Infinity
) – The maximum number of items the queue can hold.
Properties
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.
Methods
enqueue(item: T, priority?: number): boolean
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.
dequeue(): T | undefined
Removes and returns the item with the highest priority.
- Returns the removed item or
undefined
if the queue is empty.
clear(): void
Clears the contents of the queue.
isEmpty(): boolean
Checks if the queue is empty.
- Returns
true
if the queue is empty, otherwisefalse
.
License
MIT License with Commercial Use