@@ -54,10 +54,13 @@ import {
54
54
* on whether a payload is passed.
55
55
*/
56
56
{
57
- const actionCreator : PayloadActionCreator = Object . assign ( ( payload ?: number ) => ( {
58
- type : 'action' ,
59
- payload
60
- } ) , { type : 'action' } )
57
+ const actionCreator : PayloadActionCreator = Object . assign (
58
+ ( payload ?: number ) => ( {
59
+ type : 'action' ,
60
+ payload
61
+ } ) ,
62
+ { type : 'action' }
63
+ )
61
64
62
65
let action : Action
63
66
let payloadAction : PayloadAction
@@ -74,19 +77,22 @@ import {
74
77
* Test: PayloadActionCreator is compatible with ActionCreator.
75
78
*/
76
79
{
77
- const payloadActionCreator : PayloadActionCreator = Object . assign ( ( payload ?: number ) => ( {
78
- type : 'action' ,
79
- payload
80
- } ) , { type : 'action' } )
80
+ const payloadActionCreator : PayloadActionCreator = Object . assign (
81
+ ( payload ?: number ) => ( {
82
+ type : 'action' ,
83
+ payload
84
+ } ) ,
85
+ { type : 'action' }
86
+ )
81
87
const actionCreator : ActionCreator < AnyAction > = payloadActionCreator
82
88
83
- const payloadActionCreator2 : PayloadActionCreator < number > = Object . assign ( (
84
- payload ?: number
85
- ) => ( {
86
- type : 'action' ,
87
- payload : payload || 1
88
- } ) , { type : 'action' } )
89
-
89
+ const payloadActionCreator2 : PayloadActionCreator < number > = Object . assign (
90
+ ( payload ?: number ) => ( {
91
+ type : 'action' ,
92
+ payload : payload || 1
93
+ } ) ,
94
+ { type : 'action' }
95
+ )
90
96
91
97
const actionCreator2 : ActionCreator <
92
98
PayloadAction < number >
@@ -99,7 +105,7 @@ import {
99
105
* Test: createAction() has type parameter for the action payload.
100
106
*/
101
107
{
102
- const increment = createAction < number > ( 'increment' )
108
+ const increment = createAction < number , 'increment' > ( 'increment' )
103
109
const n : number = increment ( 1 ) . payload
104
110
105
111
// typings:expect-error
@@ -114,3 +120,16 @@ import {
114
120
const n : number = increment ( 1 ) . payload
115
121
const s : string = increment ( 1 ) . payload
116
122
}
123
+ /*
124
+ * Test: createAction().type is a string literal.
125
+ */
126
+ {
127
+ const increment = createAction ( 'increment' )
128
+ const n : string = increment ( 1 ) . type
129
+ const s : 'increment' = increment ( 1 ) . type
130
+
131
+ // typings:expect-error
132
+ const r : 'other' = increment ( 1 ) . type
133
+ // typings:expect-error
134
+ const q : number = increment ( 1 ) . type
135
+ }
0 commit comments