wishthis/node_modules/rxjs/_esm2015/internal/BehaviorSubject.js

33 lines
876 B
JavaScript
Raw Normal View History

2022-05-29 09:24:36 +00:00
import { Subject } from './Subject';
import { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';
export class BehaviorSubject extends Subject {
constructor(_value) {
super();
this._value = _value;
}
get value() {
return this.getValue();
}
_subscribe(subscriber) {
const subscription = super._subscribe(subscriber);
if (subscription && !subscription.closed) {
subscriber.next(this._value);
}
return subscription;
}
getValue() {
if (this.hasError) {
throw this.thrownError;
}
else if (this.closed) {
throw new ObjectUnsubscribedError();
}
else {
return this._value;
}
}
next(value) {
super.next(this._value = value);
}
}
//# sourceMappingURL=BehaviorSubject.js.map