merge-async-iterators

0.2.1 • Public • Published

merge-async-iterators

A simple async iterators merger

Requires ES2018 Async Iteration

Install

npm i merge-async-iterators

Usage

API

merge([...iterators], opts)

  • iterators Array of async iterables

  • opts

    • yieldIterator[=false] Yields {iterator, value} (instead of value)

      Useful if you wanna know which iterator yielded the value

  • Returns A single merged async iterable

Example

const merge = require('merge-async-iterators');
 
const array = [1,2];
const iterable = (function*(){
  yield 3
  yield 4
})()
const asyncIterable = (async function*(){
  yield 5
  yield 6
})()
 
for await (const value of merge([array, iterable, asyncIterable])) {
  console.log(value)
}
1
2          // order isn't guaranteed
undefined  // finished iterators' returns will yield as well
3
4
undefined
5          // async wil almost always come after normal ones
6

Alternatives

Readme

Keywords

none

Package Sidebar

Install

npm i merge-async-iterators

Weekly Downloads

733

Version

0.2.1

License

none

Unpacked Size

5.46 kB

Total Files

4

Last publish

Collaborators

  • laggingreflex