typedux
Version:
Slightly adjusted Redux (awesome by default) for TS
26 lines (25 loc) • 731 B
TypeScript
/**
* Responsible for observing
* and notifying store listeners
* with provided paths
*/
import { State } from '../reducers';
import { SelectorFn } from '../selectors';
export declare type TStateChangeHandler<S extends State, T> = (newValue: T, oldValue: T, observer: StateObserver<S, T>) => any;
export declare class StateObserver<S extends State, T> {
private selector;
private handler;
/**
* Last value received
*/
private cachedValue;
/**
* Flags when the observer has been removed
*
* @type {boolean}
*/
removed: boolean;
constructor(selector: SelectorFn<S, T>, handler: TStateChangeHandler<S, T>);
onChange(state: S): boolean;
}
export default StateObserver;