| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 | "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 Subject_1 = require("./Subject");var Subscription_1 = require("./Subscription");var AsyncSubject = (function (_super) {    __extends(AsyncSubject, _super);    function AsyncSubject() {        var _this = _super !== null && _super.apply(this, arguments) || this;        _this.value = null;        _this.hasNext = false;        _this.hasCompleted = false;        return _this;    }    AsyncSubject.prototype._subscribe = function (subscriber) {        if (this.hasError) {            subscriber.error(this.thrownError);            return Subscription_1.Subscription.EMPTY;        }        else if (this.hasCompleted && this.hasNext) {            subscriber.next(this.value);            subscriber.complete();            return Subscription_1.Subscription.EMPTY;        }        return _super.prototype._subscribe.call(this, subscriber);    };    AsyncSubject.prototype.next = function (value) {        if (!this.hasCompleted) {            this.value = value;            this.hasNext = true;        }    };    AsyncSubject.prototype.error = function (error) {        if (!this.hasCompleted) {            _super.prototype.error.call(this, error);        }    };    AsyncSubject.prototype.complete = function () {        this.hasCompleted = true;        if (this.hasNext) {            _super.prototype.next.call(this, this.value);        }        _super.prototype.complete.call(this);    };    return AsyncSubject;}(Subject_1.Subject));exports.AsyncSubject = AsyncSubject;//# sourceMappingURL=AsyncSubject.js.map
 |