@domx/functional
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

functional · GitHub license Build Status Lines npm

Contains methods for functional JavaScript patterns.

Installation

npm install @domx/functional

Usage

Pipe and compose methods combine functions; calling each function with the output of the last one.

The primary difference is that a pipe is from left-to-right (top-to-bottom), where as compose is right-to-left (bottom-to-top).

pipe

const returnValue = pipe(
    (x) => x + 2,
    (x) => x * 3
)(1);
// returnValue = 9

compose

const returnValue = compose(
    (x) => x + 2,
    (x) => x * 3
)(1);
// returnValue = 5

TypeScript

Both pipe and compose will infer the type of each functions argument and return value. If needing to use different types you can use <any>.

 const returnValue = pipe<any>(
    text => parseInt(text),
    num => num + 1,
    num => String(num) + " - it worked"
)("1");
// returnValue = "2 - it worked"

Async Versions

pipeAsync and composeAsync can be used if any one of the methods in the chain is async or returns a promise.

Dependencies (0)

    Dev Dependencies (0)

      Package Sidebar

      Install

      npm i @domx/functional

      Weekly Downloads

      0

      Version

      1.0.0

      License

      MIT

      Unpacked Size

      78.1 kB

      Total Files

      36

      Last publish

      Collaborators

      • jhorback