1- import type { ActionReducerMapBuilder } from '@reduxjs/toolkit'
1+ import type { ActionReducerMapBuilder , Reducer } from '@reduxjs/toolkit'
22import { createAction , createReducer } from '@reduxjs/toolkit'
3- import type { Reducer } from 'redux'
43
54describe ( 'type tests' , ( ) => {
65 test ( 'createReducer() infers type of returned reducer.' , ( ) => {
76 const incrementHandler = (
87 state : number ,
9- action : { type : 'increment' ; payload : number }
8+ action : { type : 'increment' ; payload : number } ,
109 ) => state + 1
10+
1111 const decrementHandler = (
1212 state : number ,
13- action : { type : 'decrement' ; payload : number }
13+ action : { type : 'decrement' ; payload : number } ,
1414 ) => state - 1
1515
1616 const reducer = createReducer ( 0 as number , ( builder ) => {
@@ -19,21 +19,20 @@ describe('type tests', () => {
1919 . addCase ( 'decrement' , decrementHandler )
2020 } )
2121
22- const numberReducer : Reducer < number > = reducer
22+ expectTypeOf ( reducer ) . toMatchTypeOf < Reducer < number > > ( )
2323
24- // @ts -expect-error
25- const stringReducer : Reducer < string > = reducer
24+ expectTypeOf ( reducer ) . not . toMatchTypeOf < Reducer < string > > ( )
2625 } )
2726
28- test ( 'createReducer() state type can be specified expliclity .' , ( ) => {
27+ test ( 'createReducer() state type can be specified explicitly .' , ( ) => {
2928 const incrementHandler = (
3029 state : number ,
31- action : { type : 'increment' ; payload : number }
30+ action : { type : 'increment' ; payload : number } ,
3231 ) => state + action . payload
3332
3433 const decrementHandler = (
3534 state : number ,
36- action : { type : 'decrement' ; payload : number }
35+ action : { type : 'decrement' ; payload : number } ,
3736 ) => state - action . payload
3837
3938 createReducer ( 0 as number , ( builder ) => {
@@ -65,7 +64,7 @@ describe('type tests', () => {
6564 const increment = createAction < number , 'increment' > ( 'increment' )
6665
6766 const reducer = createReducer ( 0 , ( builder ) =>
68- expectTypeOf ( builder ) . toEqualTypeOf < ActionReducerMapBuilder < number > > ( )
67+ expectTypeOf ( builder ) . toEqualTypeOf < ActionReducerMapBuilder < number > > ( ) ,
6968 )
7069
7170 expectTypeOf ( reducer ( 0 , increment ( 5 ) ) ) . toBeNumber ( )
0 commit comments