Skip to content

gr0uch/promise-compose

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

promise-compose

Build Status npm Version License

Compose an arbitrary number of functions that accept one argument and return either a value or a Promise.

$ npm install promise-compose

Usage

import assert from 'assert'
import compose from 'promise-compose'

const double = x => x * 2
const square = x => x * x
const root = x => Promise.resolve(Math.sqrt(x))

// From left to right.
compose(root, double, square)(9)
.then(result => assert.equal(result, 36))

// From right to left.
compose.right(square, double, root)(9)
.then(result => assert.equal(result, 36))

This library assumes that Promise is a global that implements the ES6 Promise specification. If you're not sure if the environment has Promise or you want to use something else, simply override compose.Promise.

License

This software is licensed under the MIT license.

About

Compose an arbitrary number of functions that accept one argument and return either a value or a Promise.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors