mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2026-08-11 12:30:18 +00:00
Revert and fix lint/tests (#19957)
This commit is contained in:
committed by
Mohamed Hegazy
parent
fff9915030
commit
b622068882
Vendored
+76
-31
@@ -4,7 +4,6 @@
|
||||
// Alex Gorbatchev <https://github.com/alexgorbatchev>,
|
||||
// Alec Hill <https://github.com/alechill>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
// TypeScript Version: 2.3
|
||||
|
||||
export as namespace ReduxActions;
|
||||
|
||||
@@ -23,12 +22,12 @@ export interface ActionMeta<Payload, Meta> extends Action<Payload> {
|
||||
meta: Meta;
|
||||
}
|
||||
|
||||
export interface ReducerMap<State> {
|
||||
[actionType: string]: Reducer<State, any> | ReducerNextThrow<State, any>;
|
||||
export interface ReducerMap<State, Payload> {
|
||||
[actionType: string]: Reducer<State, Payload> | ReducerNextThrow<State, Payload>;
|
||||
}
|
||||
|
||||
export interface ReducerMapMeta<State, Meta> {
|
||||
[actionType: string]: ReducerMeta<State, any, Meta> | ReducerNextThrowMeta<State, any, Meta>;
|
||||
export interface ReducerMapMeta<State, Payload, Meta> {
|
||||
[actionType: string]: ReducerMeta<State, Payload, Meta> | ReducerNextThrowMeta<State, Payload, Meta>;
|
||||
}
|
||||
|
||||
export interface ReducerNextThrow<State, Payload> {
|
||||
@@ -41,28 +40,58 @@ export interface ReducerNextThrowMeta<State, Payload, Meta> {
|
||||
throw?(state: State, action: ActionMeta<Payload, Meta>): State;
|
||||
}
|
||||
|
||||
export type ActionFunctions<Payload> = ActionFunctionAny<Action<Payload>>;
|
||||
export type ActionFunctions<Payload> =
|
||||
ActionFunction0<Action<Payload>> |
|
||||
ActionFunction1<any, Action<Payload>> |
|
||||
ActionFunction2<any, any, Action<Payload>> |
|
||||
ActionFunction3<any, any, any, Action<Payload>> |
|
||||
ActionFunction4<any, any, any, any, Action<Payload>> |
|
||||
ActionFunctionAny<Action<Payload>>;
|
||||
|
||||
export type Reducer<State, Payload> = (state: State, action: Action<Payload>) => State;
|
||||
|
||||
export type ReducerMeta<State, Payload, Meta> = (state: State, action: ActionMeta<Payload, Meta>) => State;
|
||||
|
||||
/** argument inferring borrowed from lodash definitions */
|
||||
export type ActionFunction<R, T1 = undefined, T2 = undefined, T3 = undefined, T4 = undefined> = (t1?: T1, t2?: T2, t3?: T3, t4?: T4) => R;
|
||||
export type ActionFunction0<R> = () => R;
|
||||
export type ActionFunction1<T1, R> = (t1: T1) => R;
|
||||
export type ActionFunction2<T1, T2, R> = (t1: T1, t2: T2) => R;
|
||||
export type ActionFunction3<T1, T2, T3, R> = (t1: T1, t2: T2, t3: T3) => R;
|
||||
export type ActionFunction4<T1, T2, T3, T4, R> = (t1: T1, t2: T2, t3: T3, t4: T4) => R;
|
||||
export type ActionFunctionAny<R> = (...args: any[]) => R;
|
||||
|
||||
export function createAction(
|
||||
actionType: string
|
||||
): ActionFunction<Action<void>>;
|
||||
): ActionFunction0<Action<void>>;
|
||||
|
||||
export function createAction<Payload, Arg1 = undefined, Arg2 = undefined, Arg3 = undefined, Arg4 = undefined>(
|
||||
export function createAction<Payload>(
|
||||
actionType: string,
|
||||
payloadCreator: ActionFunction<Payload, Arg1, Arg2, Arg3, Arg4>
|
||||
): ActionFunction<Action<Payload>, Arg1, Arg2, Arg3, Arg4>;
|
||||
payloadCreator: ActionFunction0<Payload>
|
||||
): ActionFunction0<Action<Payload>>;
|
||||
|
||||
export function createAction<Payload, Arg1>(
|
||||
actionType: string,
|
||||
payloadCreator: ActionFunction1<Arg1, Payload>
|
||||
): ActionFunction1<Arg1, Action<Payload>>;
|
||||
|
||||
export function createAction<Payload, Arg1, Arg2>(
|
||||
actionType: string,
|
||||
payloadCreator: ActionFunction2<Arg1, Arg2, Payload>
|
||||
): ActionFunction2<Arg1, Arg2, Action<Payload>>;
|
||||
|
||||
export function createAction<Payload, Arg1, Arg2, Arg3>(
|
||||
actionType: string,
|
||||
payloadCreator: ActionFunction3<Arg1, Arg2, Arg3, Payload>
|
||||
): ActionFunction3<Arg1, Arg2, Arg3, Action<Payload>>;
|
||||
|
||||
export function createAction<Payload, Arg1, Arg2, Arg3, Arg4>(
|
||||
actionType: string,
|
||||
payloadCreator: ActionFunction4<Arg1, Arg2, Arg3, Arg4, Payload>
|
||||
): ActionFunction4<Arg1, Arg2, Arg3, Arg4, Action<Payload>>;
|
||||
|
||||
export function createAction<Payload>(
|
||||
actionType: string
|
||||
): ActionFunction<Action<Payload>, Payload>;
|
||||
): ActionFunction1<Payload, Action<Payload>>;
|
||||
|
||||
export function createAction<Payload, Meta>(
|
||||
actionType: string,
|
||||
@@ -70,11 +99,29 @@ export function createAction<Payload, Meta>(
|
||||
metaCreator: ActionFunctionAny<Meta>
|
||||
): ActionFunctionAny<ActionMeta<Payload, Meta>>;
|
||||
|
||||
export function createAction<Payload, Meta, Arg1>(
|
||||
actionType: string,
|
||||
payloadCreator: ActionFunction1<Arg1, Payload>,
|
||||
metaCreator: ActionFunction1<Arg1, Meta>
|
||||
): ActionFunction1<Arg1, ActionMeta<Payload, Meta>>;
|
||||
|
||||
export function createAction<Payload, Meta, Arg1, Arg2>(
|
||||
actionType: string,
|
||||
payloadCreator: ActionFunction2<Arg1, Arg2, Payload>,
|
||||
metaCreator: ActionFunction2<Arg1, Arg2, Meta>
|
||||
): ActionFunction2<Arg1, Arg2, ActionMeta<Payload, Meta>>;
|
||||
|
||||
export function createAction<Payload, Meta, Arg1, Arg2, Arg3>(
|
||||
actionType: string,
|
||||
payloadCreator: ActionFunction3<Arg1, Arg2, Arg3, Payload>,
|
||||
metaCreator: ActionFunction3<Arg1, Arg2, Arg3, Meta>
|
||||
): ActionFunction3<Arg1, Arg2, Arg3, ActionMeta<Payload, Meta>>;
|
||||
|
||||
export function createAction<Payload, Meta, Arg1, Arg2, Arg3, Arg4>(
|
||||
actionType: string,
|
||||
payloadCreator: ActionFunction<Payload, Arg1, Arg2, Arg3, Arg4>,
|
||||
metaCreator: ActionFunction<Meta, Arg1, Arg2, Arg3, Arg4>
|
||||
): ActionFunction<ActionMeta<Payload, Meta>, Arg1, Arg2, Arg3, Arg4>;
|
||||
payloadCreator: ActionFunction4<Arg1, Arg2, Arg3, Arg4, Payload>,
|
||||
metaCreator: ActionFunction4<Arg1, Arg2, Arg3, Arg4, Meta>
|
||||
): ActionFunction4<Arg1, Arg2, Arg3, Arg4, ActionMeta<Payload, Meta>>;
|
||||
|
||||
export function handleAction<State, Payload>(
|
||||
actionType: string | ActionFunctions<Payload>,
|
||||
@@ -88,19 +135,24 @@ export function handleAction<State, Payload, Meta>(
|
||||
initialState: State
|
||||
): Reducer<State, Payload>;
|
||||
|
||||
export function handleActions<State>(
|
||||
reducerMap: ReducerMap<State>,
|
||||
initialState: State
|
||||
): Reducer<State, any>;
|
||||
export function handleActions<StateAndPayload>(
|
||||
reducerMap: ReducerMap<StateAndPayload, StateAndPayload>,
|
||||
initialState: StateAndPayload
|
||||
): Reducer<StateAndPayload, StateAndPayload>;
|
||||
|
||||
export function handleActions<State, Meta>(
|
||||
reducerMap: ReducerMapMeta<State, Meta>,
|
||||
export function handleActions<State, Payload>(
|
||||
reducerMap: ReducerMap<State, Payload>,
|
||||
initialState: State
|
||||
): ReducerMeta<State, any, Meta>;
|
||||
): Reducer<State, Payload>;
|
||||
|
||||
export function handleActions<State, Payload, Meta>(
|
||||
reducerMap: ReducerMapMeta<State, Payload, Meta>,
|
||||
initialState: State
|
||||
): ReducerMeta<State, Payload, Meta>;
|
||||
|
||||
export function combineActions(...actionTypes: Array<ActionFunctions<any> | string>): string;
|
||||
|
||||
export interface ActionMap<Payload, Meta = undefined> {
|
||||
export interface ActionMap<Payload, Meta> {
|
||||
[actionType: string]:
|
||||
ActionMap<Payload, Meta> |
|
||||
ActionFunctionAny<Payload> |
|
||||
@@ -109,15 +161,8 @@ export interface ActionMap<Payload, Meta = undefined> {
|
||||
}
|
||||
|
||||
export function createActions<Payload>(
|
||||
actionMap: ActionMap<Payload>,
|
||||
actionMap: ActionMap<Payload, any>,
|
||||
...identityActions: string[]
|
||||
): {
|
||||
[actionName: string]: ActionFunctionAny<Action<Payload>>
|
||||
};
|
||||
|
||||
export function createActions<Payload, Meta>(
|
||||
actionMap: ActionMap<Payload, Meta>,
|
||||
...identityActions: string[]
|
||||
): {
|
||||
[actionName: string]: ActionFunctionAny<ActionMeta<Payload, Meta>>
|
||||
};
|
||||
|
||||
@@ -144,7 +144,7 @@ const typedActionHandlerWithMeta = ReduxActions.handleAction<TypedState, TypedPa
|
||||
|
||||
typedState = typedActionHandlerWithMeta({ value: 0 }, typedIncrementByActionWithMetaAnyArgs(10));
|
||||
|
||||
const typedActionHandlerReducerMetaMap = ReduxActions.handleActions<TypedState, MetaType>(
|
||||
const typedActionHandlerReducerMetaMap = ReduxActions.handleActions<TypedState, TypedPayload, MetaType>(
|
||||
{
|
||||
INCREMENT_BY: {
|
||||
next(state: TypedState, action: ReduxActions.ActionMeta<TypedPayload, MetaType>) {
|
||||
|
||||
Reference in New Issue
Block a user