UNPKG

opendash

Version:

open.DASH data visualization framework

16 lines (15 loc) 652 B
declare type Selector<T, ReturnType> = (state: T) => ReturnType; declare type SubscriptionCallback<T> = () => void; declare type ProducerCallback<T> = (currentState: T) => T | void; export declare class Store<T> { private _state; private watcher; private selectorCache; constructor(initialState: T); state(): T; select<ReturnType>(selector: Selector<T, ReturnType>): ReturnType; update(callbackOrState: T | ProducerCallback<T>): void; subscribe(callback: SubscriptionCallback<T>): () => void; subscribeSelection(selector: Selector<T, any>, callback: SubscriptionCallback<T>): () => void; } export {};