1- import type {
2- ReducerNamesOfType ,
3- ReducerCreatorEntry ,
4- ReducerCreator ,
5- ReducerDefinition ,
6- CreatorCaseReducers ,
7- } from '@reduxjs/toolkit'
81import type {
92 AsyncThunk ,
103 AsyncThunkConfig ,
@@ -14,53 +7,8 @@ import type {
147} from './createAsyncThunk'
158import { createAsyncThunk } from './createAsyncThunk'
169import type { CaseReducer } from './createReducer'
10+ import type { ReducerCreator , ReducerDefinition } from './createSlice'
1711import { ReducerType } from './createSlice'
18- import type { Id } from './tsHelpers'
19-
20- declare module '@reduxjs/toolkit' {
21- export interface SliceReducerCreators <
22- State ,
23- CaseReducers extends CreatorCaseReducers < State > ,
24- Name extends string ,
25- > {
26- [ ReducerType . asyncThunk ] : ReducerCreatorEntry <
27- AsyncThunkCreator < State > ,
28- {
29- actions : {
30- [ ReducerName in ReducerNamesOfType <
31- CaseReducers ,
32- ReducerType . asyncThunk
33- > ] : CaseReducers [ ReducerName ] extends AsyncThunkSliceReducerDefinition <
34- State ,
35- infer ThunkArg ,
36- infer Returned ,
37- infer ThunkApiConfig
38- >
39- ? AsyncThunk < Returned , ThunkArg , ThunkApiConfig >
40- : never
41- }
42- caseReducers : {
43- [ ReducerName in ReducerNamesOfType <
44- CaseReducers ,
45- ReducerType . asyncThunk
46- > ] : CaseReducers [ ReducerName ] extends AsyncThunkSliceReducerDefinition <
47- State ,
48- any ,
49- any ,
50- any
51- >
52- ? Id <
53- Pick <
54- Required < CaseReducers [ ReducerName ] > ,
55- 'fulfilled' | 'rejected' | 'pending' | 'settled'
56- >
57- >
58- : never
59- }
60- }
61- >
62- }
63- }
6412
6513export interface AsyncThunkSliceReducerConfig <
6614 State ,
@@ -113,7 +61,7 @@ type PreventCircular<ThunkApiConfig> = {
11361 : ThunkApiConfig [ K ]
11462}
11563
116- interface AsyncThunkCreator <
64+ export interface AsyncThunkCreator <
11765 State ,
11866 CurriedThunkApiConfig extends
11967 PreventCircular < AsyncThunkConfig > = PreventCircular < AsyncThunkConfig > ,
0 commit comments