agh

0.3.0 • Public • Published

Async Generators Helpers for Node.js

Read about me on Medium.

$ npm install --save agh
const agh = require('agh');

Let's see how to use the asyncGeneratorsFactory to transform a function into an async generator:

const { asyncGeneratorsFactory } = require('agh');
 
// filter function
const onlyOddPlease = function (n) {
    // assuming that 'n' is a number
    if (% 2) return n;
}
 
// transform function
const plusOne = function (n) {
   return n + 1;
}
 
const onlyOddPleaseGen = asyncGeneratorsFactory(onlyOddPlease);
const plusOneGen = asyncGeneratorsFactory(plusOne);

You can see that filter functions must return undefined only when a chunk has to be discarded. Normal transform functions must always return a value. Composition functions are not yet supported, but I'm working on them.

Let's see how to pipe the generators for handle streams (Node.js)

const { pipe } = require('agh');
 
(async function IIAFE() {
    // pipe(inputStream, outputStream [, ...asyncGenerators]);
    // it returns the outputStream
    await pipe(inputStream, outputStream, onlyOddPleaseGen, plusOneGen);
})();

Contact me

Feel free to contact me on twitter: https://twitter.com/JFieldEffectT

Readme

Keywords

Package Sidebar

Install

npm i agh

Weekly Downloads

1

Version

0.3.0

License

MIT

Unpacked Size

3.86 kB

Total Files

4

Last publish

Collaborators

  • jfet97