Skip to content

Functional composition library for asynchronous functions in JavaScript

License

Notifications You must be signed in to change notification settings

HiFaraz/asyncpipe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

asyncpipe

Compose asynchronous functions in JavaScript

NPM Version Build Status Maintainability

asyncpipe composes asynchronous functions, a perfect fit for functional programming with Promises or async/await. It was inspired by lodash.flow, which is excellent but does not support functions that return Promises.

Is this production ready?

Yes. This module:

Installation

This is a Node.js module available through the npm registry. Installation is done using the npm install command:

$ npm install asyncpipe

API

var asyncpipe = require('asyncpipe');

asyncpipe(func1, func2, ...)

Compose an asynchronous function from the series of input arguments (func1, func2, ...).

Any error thrown within the series of async functions will be thrown by the composed function.

Example

const asyncpipe = require('asyncpipe');

(async () => {
  const a = x => x + 1;
  const b = x => Promise.resolve(x * 2);
  const c = async x => {
    await someExternalService(x);
    return x;
  };

  const result = await asyncpipe(a, b, c)(99);
  console.log(result); // PRINTS: 200
})();

About

Functional composition library for asynchronous functions in JavaScript

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published