Skip to content

Commit 0ef81e7

Browse files
author
ben.durrant
committed
revive slice thunk idea
1 parent 805379b commit 0ef81e7

File tree

5 files changed

+746
-52
lines changed

5 files changed

+746
-52
lines changed

packages/toolkit/src/createAction.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,26 @@ export type PrepareAction<P> =
5050
| ((...args: any[]) => { payload: P; error: any })
5151
| ((...args: any[]) => { payload: P; meta: any; error: any })
5252

53+
export type _PayloadActionForPrepare<
54+
PA extends PrepareAction<any>,
55+
T extends string = string
56+
> = PA extends PrepareAction<infer P>
57+
? PayloadAction<
58+
P,
59+
T,
60+
ReturnType<PA> extends {
61+
meta: infer M
62+
}
63+
? M
64+
: never,
65+
ReturnType<PA> extends {
66+
error: infer E
67+
}
68+
? E
69+
: never
70+
>
71+
: never
72+
5373
/**
5474
* Internal version of `ActionCreatorWithPreparedPayload`. Not to be used externally.
5575
*

packages/toolkit/src/createAsyncThunk.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ export const miniSerializeError = (value: any): SerializedError => {
105105
return { message: String(value) }
106106
}
107107

108-
type AsyncThunkConfig = {
108+
export type AsyncThunkConfig = {
109109
state?: unknown
110110
dispatch?: Dispatch
111111
extra?: unknown
@@ -414,7 +414,7 @@ export type AsyncThunk<
414414
typePrefix: string
415415
}
416416

417-
type OverrideThunkApiConfigs<OldConfig, NewConfig> = Id<
417+
export type OverrideThunkApiConfigs<OldConfig, NewConfig> = Id<
418418
NewConfig & Omit<OldConfig, keyof NewConfig>
419419
>
420420

0 commit comments

Comments
 (0)