| "use strict"; |
| Object.defineProperty(exports, "__esModule", { value: true }); |
| var scan_1 = require("./scan"); |
| var takeLast_1 = require("./takeLast"); |
| var defaultIfEmpty_1 = require("./defaultIfEmpty"); |
| var pipe_1 = require("../util/pipe"); |
| function reduce(accumulator, seed) { |
| if (arguments.length >= 2) { |
| return function reduceOperatorFunctionWithSeed(source) { |
| return pipe_1.pipe(scan_1.scan(accumulator, seed), takeLast_1.takeLast(1), defaultIfEmpty_1.defaultIfEmpty(seed))(source); |
| }; |
| } |
| return function reduceOperatorFunction(source) { |
| return pipe_1.pipe(scan_1.scan(function (acc, value, index) { return accumulator(acc, value, index + 1); }), takeLast_1.takeLast(1))(source); |
| }; |
| } |
| exports.reduce = reduce; |
| //# sourceMappingURL=reduce.js.map |