Registry / devops / double-ended-queue

double-ended-queue

JSON →
library2.1.0-0jsnpmunverified

Extremely fast double-ended queue (deque) implementation in JavaScript, version 2.1.0-0. Uses a circular buffer for O(1) operations on both ends, including random access via .get(). Outperforms native Array for shift/unshift even with V8's small array optimization. Suitable as stack, queue, or deque. No dependencies. Last release was a pre-release; library may be in maintenance mode.

npm install double-ended-queue
INSTALL
IMPORT
SIG · DOUBLE-ENDED-QUEUE
D
double-ended-queue
devopsjavascriptv2.1.0-0
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.

Deque
✓ import Deque from 'double-ended-queue'
✗ const Deque = require('double-ended-queue')
Default import works in both ESM and CJS. The package does not ship TypeScript types.
Deque
✓ const Deque = require('double-ended-queue')
✗ const { Deque } = require('double-ended-queue')
CommonJS require returns the constructor directly, not an object.

Quick start: create a deque from an array, demonstrate shift/pop, enqueue/dequeue, and random access via .get().

var Deque = require('double-ended-queue'); var deque = new Deque([1,2,3,4]); console.log(deque.shift()); //1 console.log(deque.pop()); //4 // Using as a queue deque.enqueue(5); console.log(deque.dequeue()); //5 // Random access var deque2 = new Deque(['a','b','c']); console.log(deque2.get(1)); //b
Debug
Known issues
gotchaConstructor with number creates empty deque with that capacity, not a deque with that number as element.
fix
Use an array literal when intending to pass a single numeric element: new Deque([5])
affects: >=2.0.0
gotchaThe .get() method returns undefined for out-of-bounds indices, not an error.
fix
Check the return value for undefined or use .isEmpty() before accessing.
affects: >=1.0.0
deprecatedThe 'Deque' constructor also accepts a single number as capacity; calling with a single number creates an empty deque with that internal capacity.
fix
If you intend to create a deque with one element, pass an array literal.
affects: >=1.0.0
Errors
Common errors & fixes
TypeError: Class constructor Deque cannot be invoked without 'new'
Calling Deque as a regular function (e.g., Deque()) instead of with 'new'.
fix
Always use new Deque(...) or extend Deque properly.
Cannot find module 'double-ended-queue'
Package not installed or not in node_modules.
fix
Run 'npm install double-ended-queue' in your project root.
Deque is not defined
CommonJS require not used or incorrect import syntax.
fix
Use 'var Deque = require("double-ended-queue");' (CommonJS) or proper ESM import.
Upgrade
Version history
2.1.0-0latest on npm
Audit
Dependencies

No dependency data recorded yet.

Agent activity
21 hits · last 30 days
node
18
Amazon
1
Resources
double-ended-queue — npm install double-ended-queue · libregistry