| 12345678910111213141516171819202122232425262728293031323334 | import { Subject } from './Subject';export class AsyncSubject extends Subject {    constructor() {        super(...arguments);        this._value = null;        this._hasValue = false;        this._isComplete = false;    }    _checkFinalizedStatuses(subscriber) {        const { hasError, _hasValue, _value, thrownError, isStopped, _isComplete } = this;        if (hasError) {            subscriber.error(thrownError);        }        else if (isStopped || _isComplete) {            _hasValue && subscriber.next(_value);            subscriber.complete();        }    }    next(value) {        if (!this.isStopped) {            this._value = value;            this._hasValue = true;        }    }    complete() {        const { _hasValue, _value, _isComplete } = this;        if (!_isComplete) {            this._isComplete = true;            _hasValue && super.next(_value);            super.complete();        }    }}//# sourceMappingURL=AsyncSubject.js.map
 |