flecks/packages/core/build/compose.js
2024-01-19 03:38:16 -06:00

10 lines
220 B
JavaScript

module.exports = function compose(...funcs) {
if (funcs.length === 0) {
return (arg) => arg;
}
if (funcs.length === 1) {
return funcs[0];
}
return funcs.reduce((a, b) => (...args) => a(b(...args)));
};