1.0.2 • Published 4 months ago

@vvlad1973/simple-queue v1.0.2

Weekly downloads
-
License
MIT with Commerci...
Repository
-
Last release
4 months ago

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, otherwise false.

License

MIT License with Commercial Use

1.0.2

4 months ago

1.0.1

4 months ago