steevehook
8/19/2018 - 10:34 AM

compose function

Compose n functions with a value

const compose = (...fns) => (val) => fns.reverse().reduce((acc, current) => current(acc), val);

const addTen = val => val + 10;
const multiplyByTen = val => val * 10;


const res = compose(
    addTen,
    multiplyByTen,
    multiplyByTen,
    multiplyByTen,
    addTen,
)(2);

console.log(res);