aboutsummaryrefslogtreecommitdiffstats
path: root/node_modules/rxjs/dist/esm/internal/AsyncSubject.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/rxjs/dist/esm/internal/AsyncSubject.js')
-rw-r--r--node_modules/rxjs/dist/esm/internal/AsyncSubject.js34
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
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage