async-iter-utils

1.0.0 • Public • Published

async-iter-utils

Useful utilities for js async iterators.

Install

npm install async-iter-utils
# OR
yarn add async-iter-utils

Docs

onItem(iterable, fn)

convert an async iterator to callback style

const {onItem} = require('async-iter-utils');

onItem(iterable, (item) => {
    console.log(item);
})

forEach(iterable, fn, {concurrency = 1, stopOnError = true} = {})

Run a function for each item of async iterable with given concurrency. If stopOnError is false, all errors will be collected and returned as an AggregateError, otherwise it'll stop on any error.

const {forEach} = require('async-iter-utils');

await forEach(iterable, async (item) => {
    console.log(await process(item));
}, {concurrency: 10});

map(iterable, fn, {concurrency = 1, stopOnError = true} = {})

Same as forEach but will collect and return all results as an array.

const {forEach} = require('async-iter-utils');

const results = await map(iterable, async (item) => {
    return process(item);
}, {concurrency: 10});

toArray(iterable, {concurrency = 1} = {})

Convert an async iterable to an array.

const {toArray} = require('async-iter-utils');

const arr = await toArray(iterable);

chunk(iterable, {chunkSize = 1} = {})

Convert an async iterable to another async iterable of chunkSize.

const {chunk} = require('async-iter-utils');

const chunkedIterator = chunk(iterable, {chunkSize: 10});
for await (const chunks of chunkedIterator) {
    await Promise.all(chunks);
}

Package Sidebar

Install

npm i async-iter-utils

Weekly Downloads

0

Version

1.0.0

License

MIT

Unpacked Size

5.93 kB

Total Files

4

Last publish

Collaborators

  • hkk12369