# ts-async-iterable-queue

> A queue structure implementing AsyncIterableIterator&lt;T&gt;

Latest version **3.0.1** (published 2019-04-20) · MIT license · 0 weekly downloads

## Install

```sh
npm install ts-async-iterable-queue
pnpm add ts-async-iterable-queue
yarn add ts-async-iterable-queue
bun add ts-async-iterable-queue
```

## Health

**Score 30/100 (F)** — status: abandoned.

Positive: has types; esm support; no vulnerabilities; high quality score.

Warnings: low downloads.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 3.0.1 |
| Published | 2019-04-20 |
| First published | 2019-04-16 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Node | >=6.0.0 |
| Dependencies | 0 |
| Unpacked size | 67.7 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 3 |
| Author | Chris Sperry |
| Maintainers | spender |

## Links

- npm: https://www.npmjs.com/package/ts-async-iterable-queue
- Repository: https://github.com/biggyspender/ts-async-iterable-queue
- Homepage: https://github.com/biggyspender/ts-async-iterable-queue#readme
- Issues: https://github.com/biggyspender/ts-async-iterable-queue/issues
- npm.io page: https://npm.io/package/ts-async-iterable-queue

## Recent versions

- 3.0.1 (latest) — 2019-04-20
- 3.0.0 — 2019-04-19
- 2.1.0 — 2019-04-19
- 2.0.0 — 2019-04-18
- 1.2.0 — 2019-04-18
- 1.1.0 — 2019-04-17
- 1.0.1 — 2019-04-16
- 1.0.0 — 2019-04-16

## README

# ts-async-iterable-queue

A queue structure implementing AsyncIterableIterator&lt;T&gt;

[![npm version](http://img.shields.io/npm/v/ts-async-iterable-queue.svg?style=flat)](https://npmjs.org/package/ts-async-iterable-queue "View this project on npm")
[![Build Status](https://travis-ci.org/biggyspender/ts-async-iterable-queue.svg?branch=master)](https://travis-ci.org/biggyspender/ts-async-iterable-queue)

## Usage

```typescript
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](https://github.com/alexjoverm/typescript-library-starter).

---
_Source: https://npm.io/package/ts-async-iterable-queue · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
