compose
by Artem
JavaScript
'use strict';
const compose = (...args) => {
return a => {
return args.reverse().reduce((acc, fn) => {
return fn(acc);
}, a);
};
};
const f1 = input => {
return input + 'World!';
};
const f2 = () => {
return 'Hello, ';
};
const composed = compose(f1, f2);
console.log(composed());