UNPKG

apollo-form

Version:
18 lines (17 loc) 532 B
export declare type Watcher<T> = (val: T, prev: T) => void; export declare type Listener<T> = (val: T) => void; declare class Observable<T> { protected listeners: Array<{ event: Listener<T>; selector?: (state: T) => any; }>; protected initialValue: T; protected value: T; protected watchers: Array<Watcher<T>>; protected timeouts: any[]; constructor(value: T); get(): T; set(val: T): void; watch(handler: (state: T, prev: T) => void): () => void; } export default Observable;