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.
18 lines
797 B
18 lines
797 B
4 years ago
|
"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
|