Travis npm Dependency Status Coveralls

Compose-Function

Installation | Usage | Related | License


logo by Justin Mezzell

Compose a new function from smaller functions `f(g(x))`

Installation

npm install compose-function

Usage

Basic usage

```js import compose from 'compose-function';

const composition = compose(sqr, add2); // sqr(add2(x))

composition(2) // => 16

compose(sqr, inc)(2); // => 9 compose(inc, sqr)(2); // => 5 ```

with curry

```js import compose from 'compose-function'; import { curry, _ } from 'curry-this';

const add = (x, y) => x + y;

// add(6, sqr(add(2, x))) compose( add::curry(6), sqr, add::curry(2), );

// map(filter(list, even), sqr) compose( map::curry(, sqr), filter::curry(, even), )([1,2,3,4,5,6,7,8]) // => [4, 16, 36, 64] ```

:: huh?

If you’re wondering what the :: thing means, you’d better read this excellent overview by @jussi-kalliokoski or have a look at the function bind syntax proposal. Or checkout the curry-this docs.

Related

License

MIT © Christoph Hermann