Registry / devops / priority-queue-ts

priority-queue-ts

JSON →
library0.4.1jsnpmunverified

A simple priority queue data structure for Node.js and the browser written in TypeScript. Current stable version is 0.4.1. It provides MinPriorityQueue and MaxPriorityQueue implementations with a QueueItem base class for extending with custom properties. The library is minimal and type-safe, but lacks features like custom comparator functions, iteration, or bulk operations found in more mature alternatives. Release cadence is low, with limited recent activity.

npm install priority-queue-ts
INSTALL
IMPORT
SIG · PRIORITY-QUEUE-TS
P
priority-queue-ts
devopsjavascriptv0.4.1
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

MinPriorityQueue
import { MinPriorityQueue } from 'priority-queue-ts'
import MinPriorityQueue from 'priority-queue-ts'
Named export, not default. TypeScript types included.
MaxPriorityQueue
import { MaxPriorityQueue } from 'priority-queue-ts'
const { MaxPriorityQueue } = require('priority-queue-ts')
Works with both ESM and CJS, but prefer import syntax.
QueueItem
import { QueueItem } from 'priority-queue-ts'
import QueueItem from 'priority-queue-ts'
QueueItem is an abstract class meant to be extended, not instantiated directly.

Creates a MinPriorityQueue with custom Task items, pushes two items, and pops the highest priority (lowest number).

import { MinPriorityQueue, QueueItem } from 'priority-queue-ts'; class Task extends QueueItem { priority: number; description: string; constructor(priority: number, description: string) { super(); this.priority = priority; this.description = description; } } const queue = new MinPriorityQueue<Task>(); queue.push(new Task(1, 'low priority')); queue.push(new Task(3, 'high priority')); const next = queue.pop(); console.log(next?.description); // 'low priority'
Debug
Known issues
gotchaQueueItem requires a `priority` property to be defined, but TypeScript does not enforce this at compile time.
fix
Ensure all items extending QueueItem assign a `priority` field, otherwise the queue will treat it as undefined.
affects: >=0.4.0
gotchaQueueItem's constructor expects no arguments; custom constructors must call super() without params.
fix
Define custom properties after calling super().
affects: >=0.4.0
deprecatedThe package has not been updated since 2019; consider using `@datastructures-js/priority-queue` for active maintenance.
fix
Migrate to a more maintained library if new features or bug fixes are needed.
affects: >=0.4.0
Errors
Common errors & fixes
TypeError: queue.push is not a function
Trying to use an instance of QueueItem directly instead of extending it.
fix
Create a class extending QueueItem and instantiate that class.
Property 'priority' is missing in type 'MyItem' but required in type 'QueueItem'
The custom item class lacks a `priority` property.
fix
Add a `priority` property to your class extending QueueItem.
Upgrade
Version history
0.4.1latest on npm
Audit
Dependencies

No dependency data recorded yet.

Agent activity
6 hits · last 30 days
node
6
Resources
priority-queue-ts — npm install priority-queue-ts · libregistry