Registry / testing / ts-async-iterable-queue

ts-async-iterable-queue

JSON →
library3.0.1jsnpmunverified

AsyncIterableIterator-based queue for TypeScript/JavaScript. v3.0.1 ships TypeScript types and supports Node >=6. Active maintenance with infrequent releases. Differentiator: implements AsyncIterableIterator directly, enabling for-await-of consumption without external dependencies.

npm install ts-async-iterable-queue
INSTALL
IMPORT
SIG · TS-ASYNC-ITERABLE-
T
ts-async-iterable-queue
testingjavascriptv3.0.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.

createAsyncQueue
✓ import { createAsyncQueue } from 'ts-async-iterable-queue'
✗ import createAsyncQueue from 'ts-async-iterable-queue'
Named export only; default import is not valid.
AsyncQueue
✓ import { AsyncQueue } from 'ts-async-iterable-queue'
✗ const { AsyncQueue } = require('ts-async-iterable-queue')
TypeScript type; available as named export. For CommonJS, use require with destructuring.
AsyncIterableQueue
✓ import { AsyncIterableQueue } from 'ts-async-iterable-queue'
✗ import { AsyncIterableQueue } from 'ts-async-iterable-queue'
Same export; equivalent to AsyncQueue. Prefer AsyncQueue for consistency.

Demonstrates creating an async queue, enqueuing items, and consuming via for-await-of loop.

import { createAsyncQueue } from 'ts-async-iterable-queue'; const queue = createAsyncQueue<number>(); async function producer() { for (let i = 0; i < 5; i++) { await new Promise(resolve => setTimeout(resolve, 10)); queue.enqueue(i); } queue.complete(); } async function consumer() { for await (const value of queue) { console.log('Consumed:', value); } console.log('Queue completed'); } producer(); consumer();
Debug
Known issues
breakingVersion 2.x changed from class-based to factory function createAsyncQueue.
fix
Use createAsyncQueue<T>() instead of new AsyncQueue<T>().
affects: >=2.0.0
deprecatedThe AsyncQueue class export is deprecated as of v3.
fix
Import createAsyncQueue and use it instead.
affects: >=3.0.0
gotchaCalling enqueue after complete will throw an error.
fix
Ensure all enqueues happen before calling complete().
affects: >=1.0.0
gotchaQueue unblocks consumers only when items are enqueued or complete is called; no timeout support.
fix
Implement custom timeout logic if needed, e.g., with Promise.race.
affects: >=1.0.0
gotchaTypeScript generic type must be specified; otherwise defaults to unknown.
fix
Use createAsyncQueue<T>() with explicit type argument.
affects: >=1.0.0
Errors
Common errors & fixes
TypeError: queue.enqueue is not a function
Importing default export instead of named export createAsyncQueue.
fix
Use import { createAsyncQueue } from 'ts-async-iterable-queue'.
Cannot find module 'ts-async-iterable-queue'
Package not installed or wrong import path.
fix
Run npm install ts-async-iterable-queue.
Type 'AsyncQueue<number>' is not assignable to type 'AsyncIterableIterator<number>'
Assigning queue to a variable typed as AsyncIterableIterator but queue is also an object.
fix
Use queue directly in for-await-of; the type is correct.
Unhandled promise rejection: Error: Queue already completed
Trying to enqueue after calling queue.complete().
fix
Ensure complete() is called only after all enqueues.
Upgrade
Version history
3.0.1latest on npm
Audit
Dependencies

No dependency data recorded yet.

Agent activity
17 hits · last 30 days
node
16
Bingbot
1
Resources
ts-async-iterable-queue — npm install ts-async-iterable-queue · libregistry