--- /dev/null
+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
\ No newline at end of file