UNPKG

reactive-observables

Version:

Framework-agnostic observables and computed properties similar to Knockout and Vue, built on RxJS

16 lines (15 loc) 1.24 kB
import { TrackedTypeForValue } from "../trackable"; import { Subscription } from "rxjs"; interface TrackedProperty<T> { subject: TrackedTypeForValue<T>; } declare type TrackedPropertyList<T> = { [K in keyof T]: TrackedProperty<T[K]>; }; export declare const getTrackedPropertyList: <T>(obj: T) => TrackedPropertyList<T>; export declare const getTrackedProperty: <T, K extends keyof T>(obj: T, name: K, notFound?: ((list: TrackedPropertyList<T>, name: K) => TrackedTypeForValue<T[K]>) | undefined) => TrackedTypeForValue<T[K]>; export declare const getOrSetupTrackedProperty: <T, K extends keyof T>(obj: T, name: K, value: T[K]) => TrackedTypeForValue<T[K]>; export declare const getAllTrackedProperties: <T>(obj: T) => (import("../tracked-computed-subject").TrackedComputedSubject<T[keyof T]> | TrackedTypeForValue<T[keyof T]>)[]; export declare const getAllObservables: <T>(obj: T) => (import("rxjs").Observable<undefined> | import("rxjs").Observable<unknown[]> | import("rxjs").Observable<T[string]> | import("rxjs").Observable<T[number]> | import("rxjs").Observable<T[symbol]> | import("rxjs").Observable<T[keyof T]>)[]; export declare const subscribeAll: <T>(obj: T, observer: (values: any) => void) => Subscription; export {};