UNPKG

react-redux-methods

Version:

A lightweight react-redux toolkit for writing strong-typed, minimal code redux boilerplate.

13 lines (12 loc) 765 B
import type { Dispatch, AnyAction } from 'redux'; type TCreateDispatchFn<A extends Record<string, (...args: any[]) => any>> = <T extends keyof A>(type: T, ...args: Parameters<A[T]>) => void; export declare const createDispatch: <D extends Dispatch<AnyAction>, A extends Record<string, (...args: any[]) => any>>(dispatch: D, action: A) => TCreateDispatchFn<A>; type MapDispatchGroupParam<T> = { [key: string]: keyof T; }; type MapDispatchGroupResponse<T, A extends MapDispatchGroupParam<T>> = { [P in keyof A]: T[A[P]]; }; type TCreateGroupDispatchFn<A> = <K extends keyof A, AT extends Record<string, K>>(actionTypes: AT) => MapDispatchGroupResponse<A, AT>; export declare const createGroupDispatch: <A>(actions: A) => TCreateGroupDispatchFn<A>; export {};