| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 | 
							- "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
 
 
  |