@s-ui/js
Version:
Set of JS utilities
21 lines • 631 B
JavaScript
var pipe = function pipe() {
for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {
funcs[_key] = arguments[_key];
}
return function (arg) {
return funcs.reduce(function (acc, value) {
return value(acc);
}, arg);
};
};
export default pipe;
export var asyncPipe = function asyncPipe() {
for (var _len2 = arguments.length, funcs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
funcs[_key2] = arguments[_key2];
}
return function (arg) {
return funcs.reduce(function (acc, value) {
return acc.then(value);
}, Promise.resolve(arg));
};
};