|
1 | 1 | import { Reducer } from 'redux' |
2 | | -import { createReducer, createAction } from '../../src' |
| 2 | +import { createReducer, createAction, ActionReducerMapBuilder } from '../../src' |
3 | 3 |
|
4 | 4 | function expectType<T>(p: T) {} |
5 | 5 |
|
@@ -67,49 +67,10 @@ function expectType<T>(p: T) {} |
67 | 67 | /** Test: alternative builder callback for actionMap */ |
68 | 68 | { |
69 | 69 | const increment = createAction<number, 'increment'>('increment') |
70 | | - const decrement = createAction<number, 'decrement'>('decrement') |
71 | | - |
72 | | - const reducer = createReducer(0, builder => { |
73 | | - builder.addCase(increment, (state, action) => { |
74 | | - expectType<number>(state) |
75 | | - expectType<{ type: 'increment'; payload: number }>(action) |
76 | | - // typings:expect-error |
77 | | - expectType<string>(state) |
78 | | - // typings:expect-error |
79 | | - expectType<{ type: 'increment'; payload: string }>(action) |
80 | | - // typings:expect-error |
81 | | - expectType<{ type: 'decrement'; payload: number }>(action) |
82 | | - }) |
83 | | - |
84 | | - builder.addCase('increment', (state, action) => { |
85 | | - expectType<number>(state) |
86 | | - expectType<{ type: 'increment' }>(action) |
87 | | - // typings:expect-error |
88 | | - expectType<{ type: 'decrement' }>(action) |
89 | | - // typings:expect-error - this cannot be inferred and has to be manually specified |
90 | | - expectType<{ type: 'increment'; payload: number }>(action) |
91 | | - }) |
92 | | - |
93 | | - builder.addCase( |
94 | | - increment, |
95 | | - (state, action: ReturnType<typeof increment>) => state |
96 | | - ) |
97 | | - // typings:expect-error |
98 | | - builder.addCase( |
99 | | - increment, |
100 | | - (state, action: ReturnType<typeof decrement>) => state |
101 | | - ) |
102 | | - |
103 | | - builder.addCase( |
104 | | - 'increment', |
105 | | - (state, action: ReturnType<typeof increment>) => state |
106 | | - ) |
107 | | - // typings:expect-error |
108 | | - builder.addCase( |
109 | | - 'decrement', |
110 | | - (state, action: ReturnType<typeof increment>) => state |
111 | | - ) |
112 | | - }) |
| 70 | + |
| 71 | + const reducer = createReducer(0, builder => |
| 72 | + expectType<ActionReducerMapBuilder<number>>(builder) |
| 73 | + ) |
113 | 74 |
|
114 | 75 | expectType<number>(reducer(0, increment(5))) |
115 | 76 | // typings:expect-error |
|
0 commit comments