ts-async-iterable-queue
TypeScript icon, indicating that this package has built-in type declarations

3.0.1 • Public • Published

ts-async-iterable-queue

A queue structure implementing AsyncIterableIterator<T>

npm version Build Status

Usage

import { createAsyncQueue } from 'ts-async-iterable-queue'
 
const q = createAsyncQueue<number>();
 
const postToQueue= async () => {
    for (let x = 0; x < 100; ++x) {
        await delay(1)
        q.enqueue(x)
    }
    q.complete();
}
 
const receiveFromQueue= async () => {
    let i = 0;
    for await (const ii of q) {
        if(i++ !== ii){
            throw Error()
        }
    }
    if(ii !== 100){
        throw Error()
    }
    console.log("queue completed!")
}
 
postToQueue()       // fire-and-forget
receiveFromQueue()  // fire-and-forget
 

acknowledgements

Created using the wonderful https://github.com/alexjoverm/typescript-library-starter.

Dependencies (0)

    Dev Dependencies (34)

    Package Sidebar

    Install

    npm i ts-async-iterable-queue

    Weekly Downloads

    321

    Version

    3.0.1

    License

    MIT

    Unpacked Size

    69.3 kB

    Total Files

    25

    Last publish

    Collaborators

    • spender