pipe.js 693 B

12345678910111213141516171819202122232425
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.pipeFromArray = exports.pipe = void 0;
  4. var identity_1 = require("./identity");
  5. function pipe() {
  6. var fns = [];
  7. for (var _i = 0; _i < arguments.length; _i++) {
  8. fns[_i] = arguments[_i];
  9. }
  10. return pipeFromArray(fns);
  11. }
  12. exports.pipe = pipe;
  13. function pipeFromArray(fns) {
  14. if (fns.length === 0) {
  15. return identity_1.identity;
  16. }
  17. if (fns.length === 1) {
  18. return fns[0];
  19. }
  20. return function piped(input) {
  21. return fns.reduce(function (prev, fn) { return fn(prev); }, input);
  22. };
  23. }
  24. exports.pipeFromArray = pipeFromArray;
  25. //# sourceMappingURL=pipe.js.map