import { Subscribable, Unsubscribable } from 'rxjs'; import { ValueStore } from './ValueStore'; export class ObservableStore extends ValueStore { private unsub?: Unsubscribable; constructor(private readonly obs$: Subscribable, initialValue: Data) { super(initialValue); } onSubscribe() { this.unsub = this.obs$.subscribe(this.state$); } onUnsubscribe() { this.unsub?.unsubscribe(); } }