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.

Readme

Keywords

none

Package Sidebar

Install

npm i ts-async-iterable-queue

Weekly Downloads

675

Version

3.0.1

License

MIT

Unpacked Size

69.3 kB

Total Files

25

Last publish

Collaborators

  • spender