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
611 B
25 lines
611 B
"use strict"; |
|
var noop_1 = require('./noop'); |
|
/* tslint:enable:max-line-length */ |
|
function pipe() { |
|
var fns = []; |
|
for (var _i = 0; _i < arguments.length; _i++) { |
|
fns[_i - 0] = arguments[_i]; |
|
} |
|
return pipeFromArray(fns); |
|
} |
|
exports.pipe = pipe; |
|
/* @internal */ |
|
function pipeFromArray(fns) { |
|
if (!fns) { |
|
return noop_1.noop; |
|
} |
|
if (fns.length === 1) { |
|
return fns[0]; |
|
} |
|
return function piped(input) { |
|
return fns.reduce(function (prev, fn) { return fn(prev); }, input); |
|
}; |
|
} |
|
exports.pipeFromArray = pipeFromArray; |
|
//# sourceMappingURL=pipe.js.map
|