@@ -11,31 +11,22 @@ export type MutationHandler<TModuleState, TPayload> =
11
11
export type PayloadlessMutationHandler < TModuleState > =
12
12
( state : TModuleState ) => void ;
13
13
14
- export type ActionHandler < TModuleState , TRootState , TPayload > =
15
- ( injectee : ActionContext < TModuleState , TRootState > , payload : TPayload ) => void | Promise < any > ;
16
- export type PromiseActionHandler < TModuleState , TRootState , TPayload , TPromise > =
17
- ( injectee : ActionContext < TModuleState , TRootState > , payload : TPayload ) => Promise < TPromise > ;
18
- export type PayloadlessActionHandler < TModuleState , TRootState > =
19
- ( injectee : ActionContext < TModuleState , TRootState > ) => void | Promise < any > ;
20
- export type PromisePayloadlessActionHandler < TModuleState , TRootState , TPromise > =
21
- ( injectee : ActionContext < TModuleState , TRootState > ) => Promise < TPromise > ;
14
+ export type ActionHandler < TModuleState , TRootState , TPayload , TResult > =
15
+ ( injectee : ActionContext < TModuleState , TRootState > , payload : TPayload ) => void | Promise < TResult > ;
16
+ export type PayloadlessActionHandler < TModuleState , TRootState , TResult > =
17
+ ( injectee : ActionContext < TModuleState , TRootState > ) => void | Promise < TResult > ;
22
18
23
19
export type GetterHandler < TModuleState , TRootState , TResult > =
24
20
( state : TModuleState , rootState : TRootState ) => TResult ;
25
21
26
22
export type GetAccessor < TModuleState , TRootState , TResult > =
27
23
( store : Store < TRootState > | ActionContext < TModuleState , TRootState > ) => TResult ;
28
24
29
- export type DispatchAccessor < TModuleState , TRootState , TPayload > =
25
+ export type DispatchAccessor < TModuleState , TRootState , TPayload , TResult > =
30
26
( store : Store < TRootState > | ActionContext < TModuleState , TRootState > ,
31
- payload : TPayload ) => Promise < any [ ] > ;
32
- export type PayloadlessDispatchAccessor < TModuleState , TRootState > =
33
- ( store : Store < TRootState > | ActionContext < TModuleState , TRootState > ) => Promise < any [ ] > ;
34
- export type PromiseDispatchAccessor < TModuleState , TRootState , TPayload , TPromise > =
35
- ( store : Store < TRootState > | ActionContext < TModuleState , TRootState > ,
36
- payload : TPayload ) => Promise < TPromise > ;
37
- export type PromisePayloadlessDispatchAccessor < TModuleState , TRootState , TPromise > =
38
- ( store : Store < TRootState > | ActionContext < TModuleState , TRootState > ) => Promise < TPromise > ;
27
+ payload : TPayload ) => Promise < TResult > ;
28
+ export type PayloadlessDispatchAccessor < TModuleState , TRootState , TResult > =
29
+ ( store : Store < TRootState > | ActionContext < TModuleState , TRootState > ) => Promise < TResult > ;
39
30
40
31
export type CommitAccessor < TModuleState , TRootState , TPayload > =
41
32
( store : Store < TRootState > | ActionContext < TModuleState , TRootState > ,
@@ -51,18 +42,12 @@ export interface StoreAccessors<TModuleState, TRootState> {
51
42
handler : PayloadlessMutationHandler < TModuleState > ) :
52
43
PayloadlessCommitAccessor < TModuleState , TRootState > ;
53
44
54
- dispatch < TPayload , TPromise > (
55
- handler : PromiseActionHandler < TModuleState , TRootState , TPayload , TPromise > ) :
56
- PromiseDispatchAccessor < TModuleState , TRootState , TPayload , TPromise > ;
57
- dispatch < TPayload > (
58
- handler : ActionHandler < TModuleState , TRootState , TPayload > ) :
59
- DispatchAccessor < TModuleState , TRootState , TPayload > ;
60
- dispatchNoPayload (
61
- handler : PayloadlessActionHandler < TModuleState , TRootState > ) :
62
- PayloadlessDispatchAccessor < TModuleState , TRootState > ;
63
- dispatchNoPayload < TPromise > (
64
- handler : PromisePayloadlessActionHandler < TModuleState , TRootState , TPromise > ) :
65
- PromisePayloadlessDispatchAccessor < TModuleState , TRootState , TPromise > ;
45
+ dispatch < TPayload , TResult > (
46
+ handler : ActionHandler < TModuleState , TRootState , TPayload , TResult > ) :
47
+ DispatchAccessor < TModuleState , TRootState , TPayload , TResult > ;
48
+ dispatchNoPayload < TResult > (
49
+ handler : PayloadlessActionHandler < TModuleState , TRootState , TResult > ) :
50
+ PayloadlessDispatchAccessor < TModuleState , TRootState , TResult > ;
66
51
67
52
read < TResult > (
68
53
handler : GetterHandler < TModuleState , TRootState , TResult > ) :
@@ -77,9 +62,9 @@ export function getStoreAccessors<TModuleState, TRootState>(
77
62
commitNoPayload : ( handler : PayloadlessMutationHandler < TModuleState > ) =>
78
63
commitNoPayload ( handler , namespace ) ,
79
64
80
- dispatch : < TPayload > ( handler : ActionHandler < TModuleState , TRootState , TPayload > ) =>
65
+ dispatch : < TPayload , TResult > ( handler : ActionHandler < TModuleState , TRootState , TPayload , TResult > ) =>
81
66
dispatch ( handler , namespace ) ,
82
- dispatchNoPayload : ( handler : PayloadlessActionHandler < TModuleState , TRootState > ) =>
67
+ dispatchNoPayload : < TResult > ( handler : PayloadlessActionHandler < TModuleState , TRootState , TResult > ) =>
83
68
dispatchNoPayload ( handler , namespace ) ,
84
69
read : < TResult > ( handler : GetterHandler < TModuleState , TRootState , TResult > ) =>
85
70
read ( handler , namespace ) ,
@@ -97,21 +82,21 @@ function read<TModuleState, TRootState, TResult>(
97
82
} ;
98
83
}
99
84
100
- function dispatch < TModuleState , TRootState , TPayload > (
101
- handler : ActionHandler < TModuleState , TRootState , TPayload > ,
102
- namespace : string ) : DispatchAccessor < TModuleState , TRootState , TPayload > {
85
+ function dispatch < TModuleState , TRootState , TPayload , TResult > (
86
+ handler : ActionHandler < TModuleState , TRootState , TPayload , TResult > ,
87
+ namespace : string ) : DispatchAccessor < TModuleState , TRootState , TPayload , TResult > {
103
88
const key = qualifyKey ( handler , namespace ) ;
104
89
return ( store , payload ) => {
105
- return store . dispatch ( key , payload , useRootNamespace ) ;
90
+ return < any > store . dispatch ( key , payload , useRootNamespace ) ;
106
91
} ;
107
92
}
108
93
109
- function dispatchNoPayload < TModuleState , TRootState > (
110
- handler : PayloadlessActionHandler < TModuleState , TRootState > ,
111
- namespace : string ) : PayloadlessDispatchAccessor < TModuleState , TRootState > {
94
+ function dispatchNoPayload < TModuleState , TRootState , TResult > (
95
+ handler : PayloadlessActionHandler < TModuleState , TRootState , TResult > ,
96
+ namespace : string ) : PayloadlessDispatchAccessor < TModuleState , TRootState , TResult > {
112
97
const key = qualifyKey ( handler , namespace ) ;
113
98
return ( store ) => {
114
- return store . dispatch ( key , undefined , useRootNamespace ) ;
99
+ return < any > store . dispatch ( key , undefined , useRootNamespace ) ;
115
100
} ;
116
101
}
117
102
0 commit comments