diff options
Diffstat (limited to 'node_modules/rxjs/dist/esm/internal/AsyncSubject.js')
| -rw-r--r-- | node_modules/rxjs/dist/esm/internal/AsyncSubject.js | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/node_modules/rxjs/dist/esm/internal/AsyncSubject.js b/node_modules/rxjs/dist/esm/internal/AsyncSubject.js new file mode 100644 index 0000000..b7a71a2 --- /dev/null +++ b/node_modules/rxjs/dist/esm/internal/AsyncSubject.js @@ -0,0 +1,34 @@ +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
\ No newline at end of file |
