apollo-form
Version:
Form state manager
18 lines (17 loc) • 532 B
TypeScript
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;