flecks/packages/core/build/compose.js

10 lines
220 B
JavaScript
Raw Normal View History

2024-01-16 00:28:20 -06:00
module.exports = function compose(...funcs) {
2022-02-25 04:58:08 -06:00
if (funcs.length === 0) {
return (arg) => arg;
}
if (funcs.length === 1) {
return funcs[0];
}
return funcs.reduce((a, b) => (...args) => a(b(...args)));
2024-01-16 00:28:20 -06:00
};