aboutsummaryrefslogtreecommitdiff
path: root/sandbox/testAppNevena/Front/node_modules/rxjs/internal/operators/windowCount.js
diff options
context:
space:
mode:
Diffstat (limited to 'sandbox/testAppNevena/Front/node_modules/rxjs/internal/operators/windowCount.js')
-rw-r--r--sandbox/testAppNevena/Front/node_modules/rxjs/internal/operators/windowCount.js90
1 files changed, 90 insertions, 0 deletions
diff --git a/sandbox/testAppNevena/Front/node_modules/rxjs/internal/operators/windowCount.js b/sandbox/testAppNevena/Front/node_modules/rxjs/internal/operators/windowCount.js
new file mode 100644
index 00000000..0bc25a01
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/rxjs/internal/operators/windowCount.js
@@ -0,0 +1,90 @@
+"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 Subscriber_1 = require("../Subscriber");
+var Subject_1 = require("../Subject");
+function windowCount(windowSize, startWindowEvery) {
+ if (startWindowEvery === void 0) { startWindowEvery = 0; }
+ return function windowCountOperatorFunction(source) {
+ return source.lift(new WindowCountOperator(windowSize, startWindowEvery));
+ };
+}
+exports.windowCount = windowCount;
+var WindowCountOperator = (function () {
+ function WindowCountOperator(windowSize, startWindowEvery) {
+ this.windowSize = windowSize;
+ this.startWindowEvery = startWindowEvery;
+ }
+ WindowCountOperator.prototype.call = function (subscriber, source) {
+ return source.subscribe(new WindowCountSubscriber(subscriber, this.windowSize, this.startWindowEvery));
+ };
+ return WindowCountOperator;
+}());
+var WindowCountSubscriber = (function (_super) {
+ __extends(WindowCountSubscriber, _super);
+ function WindowCountSubscriber(destination, windowSize, startWindowEvery) {
+ var _this = _super.call(this, destination) || this;
+ _this.destination = destination;
+ _this.windowSize = windowSize;
+ _this.startWindowEvery = startWindowEvery;
+ _this.windows = [new Subject_1.Subject()];
+ _this.count = 0;
+ destination.next(_this.windows[0]);
+ return _this;
+ }
+ WindowCountSubscriber.prototype._next = function (value) {
+ var startWindowEvery = (this.startWindowEvery > 0) ? this.startWindowEvery : this.windowSize;
+ var destination = this.destination;
+ var windowSize = this.windowSize;
+ var windows = this.windows;
+ var len = windows.length;
+ for (var i = 0; i < len && !this.closed; i++) {
+ windows[i].next(value);
+ }
+ var c = this.count - windowSize + 1;
+ if (c >= 0 && c % startWindowEvery === 0 && !this.closed) {
+ windows.shift().complete();
+ }
+ if (++this.count % startWindowEvery === 0 && !this.closed) {
+ var window_1 = new Subject_1.Subject();
+ windows.push(window_1);
+ destination.next(window_1);
+ }
+ };
+ WindowCountSubscriber.prototype._error = function (err) {
+ var windows = this.windows;
+ if (windows) {
+ while (windows.length > 0 && !this.closed) {
+ windows.shift().error(err);
+ }
+ }
+ this.destination.error(err);
+ };
+ WindowCountSubscriber.prototype._complete = function () {
+ var windows = this.windows;
+ if (windows) {
+ while (windows.length > 0 && !this.closed) {
+ windows.shift().complete();
+ }
+ }
+ this.destination.complete();
+ };
+ WindowCountSubscriber.prototype._unsubscribe = function () {
+ this.count = 0;
+ this.windows = null;
+ };
+ return WindowCountSubscriber;
+}(Subscriber_1.Subscriber));
+//# sourceMappingURL=windowCount.js.map \ No newline at end of file