{"id":46666,"library":"ts-async-iterable-queue","title":"ts-async-iterable-queue","description":"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.","status":"active","version":"3.0.1","language":"javascript","source_language":"en","source_url":"https://github.com/biggyspender/ts-async-iterable-queue","tags":["javascript","typescript"],"install":[{"cmd":"npm install ts-async-iterable-queue","lang":"bash","label":"npm"},{"cmd":"yarn add ts-async-iterable-queue","lang":"bash","label":"yarn"},{"cmd":"pnpm add ts-async-iterable-queue","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"Named export only; default import is not valid.","wrong":"import createAsyncQueue from 'ts-async-iterable-queue'","symbol":"createAsyncQueue","correct":"import { createAsyncQueue } from 'ts-async-iterable-queue'"},{"note":"TypeScript type; available as named export. For CommonJS, use require with destructuring.","wrong":"const { AsyncQueue } = require('ts-async-iterable-queue')","symbol":"AsyncQueue","correct":"import { AsyncQueue } from 'ts-async-iterable-queue'"},{"note":"Same export; equivalent to AsyncQueue. Prefer AsyncQueue for consistency.","wrong":"import { AsyncIterableQueue } from 'ts-async-iterable-queue'","symbol":"AsyncIterableQueue","correct":"import { AsyncIterableQueue } from 'ts-async-iterable-queue'"}],"quickstart":{"code":"import { createAsyncQueue } from 'ts-async-iterable-queue';\n\nconst queue = createAsyncQueue<number>();\n\nasync function producer() {\n  for (let i = 0; i < 5; i++) {\n    await new Promise(resolve => setTimeout(resolve, 10));\n    queue.enqueue(i);\n  }\n  queue.complete();\n}\n\nasync function consumer() {\n  for await (const value of queue) {\n    console.log('Consumed:', value);\n  }\n  console.log('Queue completed');\n}\n\nproducer();\nconsumer();","lang":"typescript","description":"Demonstrates creating an async queue, enqueuing items, and consuming via for-await-of loop."},"warnings":[{"fix":"Use createAsyncQueue<T>() instead of new AsyncQueue<T>().","message":"Version 2.x changed from class-based to factory function createAsyncQueue.","severity":"breaking","affected_versions":">=2.0.0"},{"fix":"Import createAsyncQueue and use it instead.","message":"The AsyncQueue class export is deprecated as of v3.","severity":"deprecated","affected_versions":">=3.0.0"},{"fix":"Ensure all enqueues happen before calling complete().","message":"Calling enqueue after complete will throw an error.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Implement custom timeout logic if needed, e.g., with Promise.race.","message":"Queue unblocks consumers only when items are enqueued or complete is called; no timeout support.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Use createAsyncQueue<T>() with explicit type argument.","message":"TypeScript generic type must be specified; otherwise defaults to unknown.","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"search_vec":"'6':19 'activ':20 'async':3 'asynciterableiter':7,27 'asynciterableiterator-bas':6 'await':32 'base':8 'consumpt':34 'depend':37 'differenti':25 'direct':28 'enabl':29 'extern':36 'for-await-of':30 'implement':26 'infrequ':23 'iter':4 'javascript':38 'mainten':21 'node':18 'queue':5,9 'releas':24 'ship':13 'support':17 'ts':2 'ts-async-iterable-queu':1 'type':15 'typescript':14,39 'typescript/javascript':11 'v3.0.1':12 'without':35","created_at":"2026-06-07T13:01:01.970449+00:00","updated_at":"2026-06-07T13:01:01.970449+00:00","problems":[{"fix":"Use import { createAsyncQueue } from 'ts-async-iterable-queue'.","cause":"Importing default export instead of named export createAsyncQueue.","error":"TypeError: queue.enqueue is not a function"},{"fix":"Run npm install ts-async-iterable-queue.","cause":"Package not installed or wrong import path.","error":"Cannot find module 'ts-async-iterable-queue'"},{"fix":"Use queue directly in for-await-of; the type is correct.","cause":"Assigning queue to a variable typed as AsyncIterableIterator but queue is also an object.","error":"Type 'AsyncQueue<number>' is not assignable to type 'AsyncIterableIterator<number>'"},{"fix":"Ensure complete() is called only after all enqueues.","cause":"Trying to enqueue after calling queue.complete().","error":"Unhandled promise rejection: Error: Queue already completed"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/biggyspender/ts-async-iterable-queue#readme","github":"https://github.com/biggyspender/ts-async-iterable-queue","docs":null,"changelog":null,"pypi":null,"npm":"ts-async-iterable-queue","openapi_spec":null,"status_page":null,"smithery":null,"categories":["testing"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-07","next_check":"2026-09-05","install_tag":null}}