Skip to content

Latest commit

 

History

History
28 lines (22 loc) · 630 Bytes

compose-functions-from-left-to-right.mdx

File metadata and controls

28 lines (22 loc) · 630 Bytes
category created title
Function
2020-05-12
Compose functions from left to right

JavaScript version

// Compose functions from left to right
const pipe =
    (...fns) =>
    (x) =>
        fns.reduce((y, f) => f(y), x);

Examples

const lowercase = (str) => str.toLowerCase();
const capitalize = (str) => `${str.charAt(0).toUpperCase()}${str.slice(1)}`;
const reverse = (str) => str.split('').reverse().join('');

const fn = pipe(lowercase, capitalize, reverse);

// We will execute `lowercase`, `capitalize` and `reverse` in order
fn('Hello World') === 'dlrow olleH';