Skip to content

Commit 0b294ab

Browse files
committed
fixed type tests, added createAction().type type test
1 parent f0f13f1 commit 0b294ab

File tree

2 files changed

+37
-20
lines changed

2 files changed

+37
-20
lines changed

type-tests/files/createAction.typetest.ts

Lines changed: 35 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,13 @@ import {
5454
* on whether a payload is passed.
5555
*/
5656
{
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+
)
6164

6265
let action: Action
6366
let payloadAction: PayloadAction
@@ -74,19 +77,22 @@ import {
7477
* Test: PayloadActionCreator is compatible with ActionCreator.
7578
*/
7679
{
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+
)
8187
const actionCreator: ActionCreator<AnyAction> = payloadActionCreator
8288

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+
)
9096

9197
const actionCreator2: ActionCreator<
9298
PayloadAction<number>
@@ -99,7 +105,7 @@ import {
99105
* Test: createAction() has type parameter for the action payload.
100106
*/
101107
{
102-
const increment = createAction<number>('increment')
108+
const increment = createAction<number, 'increment'>('increment')
103109
const n: number = increment(1).payload
104110

105111
// typings:expect-error
@@ -114,3 +120,16 @@ import {
114120
const n: number = increment(1).payload
115121
const s: string = increment(1).payload
116122
}
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+
}

type-tests/files/createSlice.typetest.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,8 @@ import {
1414
initialState: 0,
1515
reducers: {
1616
increment: (state: number, action) => state + action.payload,
17-
decrement: (state: number, action) => state - action.payload
18-
},
19-
extraReducers: {
20-
"OTHER_ACTION_TYPE" : (state : number, action ) => state + action.payload.count
17+
decrement: (state: number, action) => state - action.payload,
18+
"OTHER_ACTION_TYPE": (state: number, action) => state + action.payload.count
2119
}
2220
})
2321

0 commit comments

Comments
 (0)