1234567891011121314151617181920 |
- import { Middleware, Action, AnyAction } from "redux";
- export interface ThunkDispatch<S, E, A extends Action> {
- <T extends A>(action: T): T;
- <R>(asyncAction: ThunkAction<R, S, E, A>): R;
- }
- export type ThunkAction<R, S, E, A extends Action> = (
- dispatch: ThunkDispatch<S, E, A>,
- getState: () => S,
- extraArgument: E
- ) => R;
- export type ThunkMiddleware<S = {}, A extends Action = AnyAction, E = undefined> = Middleware<ThunkDispatch<S, E, A>, S, ThunkDispatch<S, E, A>>;
- declare const thunk: ThunkMiddleware & {
- withExtraArgument<E>(extraArgument: E): ThunkMiddleware<{}, AnyAction, E>
- }
- export default thunk;
|