shineout
Version:
A components library for React
23 lines (22 loc) • 564 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.compose = compose;
function compose() {
for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {
funcs[_key] = arguments[_key];
}
if (funcs.length === 0) {
return function (arg) {
return arg;
};
}
var last = funcs[funcs.length - 1];
var rest = funcs.slice(0, -1);
return function () {
return rest.reduceRight(function (composed, f) {
return f(composed);
}, last.apply(void 0, arguments));
};
}