UNPKG

rxdeep

Version:
23 lines (22 loc) 953 B
import { Observable, Observer } from 'rxjs'; import { Change } from './types/changes'; export declare class State<T> extends Observable<T | undefined> implements Observer<T | undefined> { protected _value: T | undefined; readonly downstream: Observable<Change<T>>; readonly upstream: Observer<Change<T>>; private _changesub; constructor(initial: T | undefined); constructor(initial: T | undefined, downstream: Observable<Change<T>>, upstream: Observer<Change<T>>); next(t: T | undefined): void; error(err: any): void; complete(): void; get value(): T; set value(t: T); sub<K extends keyof T>(key: K): State<T[K]>; subDownstream<K extends keyof T>(key: K, current: () => T[K] | undefined): Observable<{ value: T[K] | undefined; trace: any; }>; subUpstream<K extends keyof T>(key: K): Observer<Change<T[K]>>; } export declare function state<T>(initial: T | undefined): State<T>;