1.0.16 • Published 8 months ago

async-iterable-queue v1.0.16

Weekly downloads
-
License
BSD-3-Clause
Repository
github
Last release
8 months ago

async-iterable-queue license npm

dependency maintenance quality

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

CI Status

Workflow NameStatus
BuildGitHub CI (Build)
CodeQLGitHub CI (CodeQL)
CoverageGitHub CI (Coverage)
ExampleGitHub CI (Example)

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()

License

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

:clap: Be nice. See our code of conduct

1.0.16

8 months ago

1.0.11

3 years ago

1.0.15

2 years ago

1.0.14

2 years ago

1.0.13

2 years ago

1.0.12

2 years ago

1.0.9

4 years ago

1.0.10

4 years ago

1.0.8

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago