Skip to content
master
Switch branches/tags
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
Sep 24, 2015
Oct 5, 2015
Sep 24, 2015
Sep 24, 2015
Sep 24, 2015
Sep 24, 2015
Sep 24, 2015
Oct 4, 2015
Sep 24, 2015

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 --save

Usage

Basic usage

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

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

About

Function composition

Resources

License

Packages

No packages published