UNPKG

typedux

Version:

Slightly adjusted Redux (awesome by default) for TS

8 lines (7 loc) 491 B
import type { ObserverDisposer } from "../store/ObservableStore"; export declare type SelectorSubscriptionListener<R> = (value: R, previousValue?: R) => any; export declare type SelectorFn<S, R> = ((state: S) => R); export declare type Selector<S, R> = SelectorFn<S, R> & { subscribe(listener: SelectorSubscriptionListener<R>): ObserverDisposer; }; export declare type InferredSelector<Sel extends (state: any) => any> = Sel extends (state: infer S) => infer R ? Selector<S, R> : never;