pipeline
by Artem
HTML
const pipeline = (dbl, inc); pipeline(2); // 5
JavaScript
'use strict';
const inc = num => num + 1;
const dbl = num => num * 2;
function pipe(...fns) {
return (...args) => {
return fns.reduce((res, next, idx, fnsArr) => {
return fnsArr[idx].apply(null, [].concat(res));
}, args);
};
}
const pipeline = pipe(dbl, inc);
const result = pipeline(2);
console.log(result);