--- /dev/null
+import { scan } from './scan';
+import { takeLast } from './takeLast';
+import { defaultIfEmpty } from './defaultIfEmpty';
+import { pipe } from '../util/pipe';
+export function reduce(accumulator, seed) {
+ if (arguments.length >= 2) {
+ return function reduceOperatorFunctionWithSeed(source) {
+ return pipe(scan(accumulator, seed), takeLast(1), defaultIfEmpty(seed))(source);
+ };
+ }
+ return function reduceOperatorFunction(source) {
+ return pipe(scan((acc, value, index) => accumulator(acc, value, index + 1)), takeLast(1))(source);
+ };
+}
+//# sourceMappingURL=reduce.js.map
\ No newline at end of file