Sha256: 7977ad434887cca8b8509f6c205af57a4fbd4fad8d9df31e2716ce02ff794797

Contents?: true

Size: 1.79 KB

Versions: 49

Compression:

Stored size: 1.79 KB

Contents

"use strict";
var __extends = (this && this.__extends) || function (d, b) {
    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
    function __() { this.constructor = d; }
    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var Subject_1 = require('./Subject');
var Subscription_1 = require('./Subscription');
/**
 * @class AsyncSubject<T>
 */
var AsyncSubject = (function (_super) {
    __extends(AsyncSubject, _super);
    function AsyncSubject() {
        _super.apply(this, arguments);
        this.value = null;
        this.hasNext = false;
        this.hasCompleted = false;
    }
    /** @deprecated internal use only */ 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

Version data entries

49 entries across 49 versions & 4 rubygems

Version Path
ilog-0.4.1 node_modules/rxjs/AsyncSubject.js
ilog-0.4.0 node_modules/rxjs/AsyncSubject.js
ilog-0.3.3 node_modules/rxjs/AsyncSubject.js
govuk_publishing_components-18.0.0 node_modules/rxjs/AsyncSubject.js
govuk_publishing_components-17.21.0 node_modules/rxjs/AsyncSubject.js
govuk_publishing_components-17.20.0 node_modules/rxjs/AsyncSubject.js
govuk_publishing_components-17.19.1 node_modules/rxjs/AsyncSubject.js
govuk_publishing_components-17.19.0 node_modules/rxjs/AsyncSubject.js
govuk_publishing_components-17.18.0 node_modules/rxjs/AsyncSubject.js
govuk_publishing_components-17.17.0 node_modules/rxjs/AsyncSubject.js
govuk_publishing_components-17.16.0 node_modules/rxjs/AsyncSubject.js
govuk_publishing_components-17.15.0 node_modules/rxjs/AsyncSubject.js
govuk_publishing_components-17.14.0 node_modules/rxjs/AsyncSubject.js
govuk_publishing_components-17.13.0 node_modules/rxjs/AsyncSubject.js
govuk_publishing_components-17.12.2 node_modules/rxjs/AsyncSubject.js
govuk_publishing_components-17.12.1 node_modules/rxjs/AsyncSubject.js
govuk_publishing_components-17.12.0 node_modules/rxjs/AsyncSubject.js
govuk_publishing_components-17.11.0 node_modules/rxjs/AsyncSubject.js
govuk_publishing_components-17.10.0 node_modules/rxjs/AsyncSubject.js
govuk_publishing_components-17.9.0 node_modules/rxjs/AsyncSubject.js