You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25 lines
486 B
25 lines
486 B
"use strict"; |
|
|
|
exports.__esModule = true; |
|
exports.default = compose; |
|
function compose() { |
|
for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) { |
|
funcs[_key] = arguments[_key]; |
|
} |
|
|
|
if (funcs.length === 0) { |
|
return function (arg) { |
|
return arg; |
|
}; |
|
} |
|
|
|
if (funcs.length === 1) { |
|
return funcs[0]; |
|
} |
|
|
|
return funcs.reduce(function (a, b) { |
|
return function () { |
|
return a(b.apply(undefined, arguments)); |
|
}; |
|
}); |
|
} |