Skip to content

Latest commit

 

History

History
36 lines (26 loc) · 1.01 KB

File metadata and controls

36 lines (26 loc) · 1.01 KB

multirator Build, Test and Publish npm version

Async Iterator which supports multiple consumers

Includes Array like functions for working with iterators (.filter(), .map(), .reduce(), .forEach() etc)

Install

npm i multirator

Usage

import Multirator from 'multirator';

const numbers = new Multirator(someIterable); // 'someIterable' could be an async iterator, async generator or a stream

(async () => {
  for await (number of numbers) {
    console.log('Consumer 1', number);
  }
})();

(async () => {
  await numbers
    .filter((number) => number % 2 !== 0)
    .forEach((oddNumber) => console.log('Consumer 2', oddNumber));
})();

(async () => {
  const total = await numbers.reduce((sum, number) => sum + number, 0);
  console.log('Consumer 3', total);
})();