diff options
Diffstat (limited to 'node_modules/rxjs/src/internal/AsyncSubject.ts')
| -rw-r--r-- | node_modules/rxjs/src/internal/AsyncSubject.ts | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/node_modules/rxjs/src/internal/AsyncSubject.ts b/node_modules/rxjs/src/internal/AsyncSubject.ts deleted file mode 100644 index abb086c..0000000 --- a/node_modules/rxjs/src/internal/AsyncSubject.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { Subject } from './Subject'; -import { Subscriber } from './Subscriber'; - -/** - * A variant of Subject that only emits a value when it completes. It will emit - * its latest value to all its observers on completion. - */ -export class AsyncSubject<T> extends Subject<T> { - private _value: T | null = null; - private _hasValue = false; - private _isComplete = false; - - /** @internal */ - protected _checkFinalizedStatuses(subscriber: Subscriber<T>) { - 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: T): void { - if (!this.isStopped) { - this._value = value; - this._hasValue = true; - } - } - - complete(): void { - const { _hasValue, _value, _isComplete } = this; - if (!_isComplete) { - this._isComplete = true; - _hasValue && super.next(_value!); - super.complete(); - } - } -} |
