aboutsummaryrefslogtreecommitdiff
path: root/sandbox/testAppNevena/Front/node_modules/rxjs/internal/operators/mergeScan.js
diff options
context:
space:
mode:
authorNevena Bojovic <nenabojov@gmail.com>2022-03-01 20:05:50 +0100
committerNevena Bojovic <nenabojov@gmail.com>2022-03-01 20:05:50 +0100
commit291803c31f829fe0d32bb3207bc11def95a7408c (patch)
treec7d43107d79291b19d8c9eceefbe91c9f9a52acf /sandbox/testAppNevena/Front/node_modules/rxjs/internal/operators/mergeScan.js
parent1fa69862057db4db53cfda5be9c24b4228ef63f7 (diff)
Urađena test aplikacija. Povezan front i back.
Diffstat (limited to 'sandbox/testAppNevena/Front/node_modules/rxjs/internal/operators/mergeScan.js')
-rw-r--r--sandbox/testAppNevena/Front/node_modules/rxjs/internal/operators/mergeScan.js108
1 files changed, 108 insertions, 0 deletions
diff --git a/sandbox/testAppNevena/Front/node_modules/rxjs/internal/operators/mergeScan.js b/sandbox/testAppNevena/Front/node_modules/rxjs/internal/operators/mergeScan.js
new file mode 100644
index 00000000..69e81217
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/rxjs/internal/operators/mergeScan.js
@@ -0,0 +1,108 @@
+"use strict";
+var __extends = (this && this.__extends) || (function () {
+ var extendStatics = function (d, b) {
+ extendStatics = Object.setPrototypeOf ||
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+ return extendStatics(d, b);
+ }
+ return function (d, b) {
+ extendStatics(d, b);
+ function __() { this.constructor = d; }
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+ };
+})();
+Object.defineProperty(exports, "__esModule", { value: true });
+var innerSubscribe_1 = require("../innerSubscribe");
+function mergeScan(accumulator, seed, concurrent) {
+ if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }
+ return function (source) { return source.lift(new MergeScanOperator(accumulator, seed, concurrent)); };
+}
+exports.mergeScan = mergeScan;
+var MergeScanOperator = (function () {
+ function MergeScanOperator(accumulator, seed, concurrent) {
+ this.accumulator = accumulator;
+ this.seed = seed;
+ this.concurrent = concurrent;
+ }
+ MergeScanOperator.prototype.call = function (subscriber, source) {
+ return source.subscribe(new MergeScanSubscriber(subscriber, this.accumulator, this.seed, this.concurrent));
+ };
+ return MergeScanOperator;
+}());
+exports.MergeScanOperator = MergeScanOperator;
+var MergeScanSubscriber = (function (_super) {
+ __extends(MergeScanSubscriber, _super);
+ function MergeScanSubscriber(destination, accumulator, acc, concurrent) {
+ var _this = _super.call(this, destination) || this;
+ _this.accumulator = accumulator;
+ _this.acc = acc;
+ _this.concurrent = concurrent;
+ _this.hasValue = false;
+ _this.hasCompleted = false;
+ _this.buffer = [];
+ _this.active = 0;
+ _this.index = 0;
+ return _this;
+ }
+ MergeScanSubscriber.prototype._next = function (value) {
+ if (this.active < this.concurrent) {
+ var index = this.index++;
+ var destination = this.destination;
+ var ish = void 0;
+ try {
+ var accumulator = this.accumulator;
+ ish = accumulator(this.acc, value, index);
+ }
+ catch (e) {
+ return destination.error(e);
+ }
+ this.active++;
+ this._innerSub(ish);
+ }
+ else {
+ this.buffer.push(value);
+ }
+ };
+ MergeScanSubscriber.prototype._innerSub = function (ish) {
+ var innerSubscriber = new innerSubscribe_1.SimpleInnerSubscriber(this);
+ var destination = this.destination;
+ destination.add(innerSubscriber);
+ var innerSubscription = innerSubscribe_1.innerSubscribe(ish, innerSubscriber);
+ if (innerSubscription !== innerSubscriber) {
+ destination.add(innerSubscription);
+ }
+ };
+ MergeScanSubscriber.prototype._complete = function () {
+ this.hasCompleted = true;
+ if (this.active === 0 && this.buffer.length === 0) {
+ if (this.hasValue === false) {
+ this.destination.next(this.acc);
+ }
+ this.destination.complete();
+ }
+ this.unsubscribe();
+ };
+ MergeScanSubscriber.prototype.notifyNext = function (innerValue) {
+ var destination = this.destination;
+ this.acc = innerValue;
+ this.hasValue = true;
+ destination.next(innerValue);
+ };
+ MergeScanSubscriber.prototype.notifyComplete = function () {
+ var buffer = this.buffer;
+ this.active--;
+ if (buffer.length > 0) {
+ this._next(buffer.shift());
+ }
+ else if (this.active === 0 && this.hasCompleted) {
+ if (this.hasValue === false) {
+ this.destination.next(this.acc);
+ }
+ this.destination.complete();
+ }
+ };
+ return MergeScanSubscriber;
+}(innerSubscribe_1.SimpleOuterSubscriber));
+exports.MergeScanSubscriber = MergeScanSubscriber;
+//# sourceMappingURL=mergeScan.js.map \ No newline at end of file