pipe-js
Version:
A backwards-compatible way of streamlining chained function calls in a readable and functional manner
24 lines (19 loc) • 545 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var pipe = Object.create(null);
var invoke = function invoke(arg, val) {
return Array.isArray(arg) ? arg.shift().apply(val, arg) : arg(val);
};
exports.default = function (value) {
pipe.through = function () {
for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {
funcs[_key] = arguments[_key];
}
return funcs.reduce(function (val, fn) {
return invoke(fn, val);
}, value);
};
return pipe;
};