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

    1.0.10 • Public • Published

    async-iterable-queue license npm

    coverage dependency maintenance quality github travis

    async-iterable-queue - A library for 'Queue' class which implements AsyncIterable<T> works on Node.js

    Installation

    npm i async-iterable-queue

    Usage

    import { AsyncIterableQueue } from 'async-iterable-queue'
    
    type Foo = {
      id: number
      name: string
    }
    
    async function example1(queue: AsyncIterableQueue<Foo>): Promise<void> {
      console.debug('pushing 123')
      await queue.push({
        id: 123,
        name: 'foo',
      })
      console.debug('123 has been pushed')
      await queue.push({
        id: 456,
        name: 'bar',
      })
      console.debug('456 has been pushed')
      await queue.push({
        id: 789,
        name: 'baz',
      })
      console.debug('789 has been pushed')
      await queue.end()
      console.debug('\'end\' has been pushed')
    }
    
    async function example2(queue: AsyncIterableQueue<Foo>): Promise<void> {
      for await (const value of queue)
        console.debug(value)
      console.debug('all elements have been popped from queue')
    }
    
    async function example(): Promise<void> {
      console.debug('example for AsyncIterableQueue has begun')
      const queue = new AsyncIterableQueue<Foo>()
      await Promise.all([
        example1(queue),
        example2(queue),
      ])
      console.debug('example for AsyncIterableQueue has finished')
    }
    
    example()

    Lincense

    The scripts and documentation in this project are released under the BSD-3-Clause License

    Contributions

    Contributions are welcome! See Contributor's Guide

    Code of Conduct

    👏 Be nice. See our code of conduct

    Install

    npm i async-iterable-queue

    DownloadsWeekly Downloads

    1

    Version

    1.0.10

    License

    BSD-3-Clause

    Unpacked Size

    18.1 kB

    Total Files

    9

    Last publish

    Collaborators

    • kei-g