Skip to content

Commit e5aaa08

Browse files
martinerkomarkerikson
authored andcommitted
Implement codemods for createReducer and createSlice builder
1 parent a5e6587 commit e5aaa08

File tree

13 files changed

+152
-0
lines changed

13 files changed

+152
-0
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
module.exports = {
2+
automock: false,
3+
roots: ['v2.0/__tests__'],
4+
transform: { '\\.ts$': ['ts-jest'] },
5+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
createReducer(initialState, {
2+
[todoAdded]: (state, action) => {},
3+
})
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
createReducer(initialState, builder => {
2+
builder.addCase(todoAdded, (state, action) => {});
3+
})
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
createReducer(initialState, {
2+
[todoAdded]: (state, action) => {},
3+
anotherTodoAdded: (state) => {},
4+
})
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
createReducer(initialState, builder => {
2+
builder.addCase(todoAdded, (state, action) => {}).addCase(anotherTodoAdded, (state) => {});
3+
})
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
createSlice({
2+
extraReducers: {
3+
[todoAdded]: (state, action) => {}
4+
}
5+
})
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
createSlice({
2+
extraReducers: builder => {
3+
builder.addCase(todoAdded, (state, action) => {});
4+
}
5+
})
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
createSlice({
2+
extraReducers: {
3+
[todoAdded]: (state, action) => {},
4+
anotherTodoAdded: (state) => {},
5+
},
6+
})
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
createSlice({
2+
extraReducers: builder => {
3+
builder.addCase(todoAdded, (state, action) => {}).addCase(anotherTodoAdded, (state) => {});
4+
}
5+
})
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import { defineTest } from 'jscodeshift/src/testUtils'
2+
3+
describe('replace object syntax for declaring case reducers with builder', () => {
4+
defineTest(
5+
__dirname,
6+
`./createReducerBuilder`,
7+
null,
8+
`create-reducer-builder/basic`,
9+
{ parser: 'ts' }
10+
)
11+
defineTest(
12+
__dirname,
13+
`./createReducerBuilder`,
14+
null,
15+
`create-reducer-builder/chained`,
16+
{ parser: 'ts' }
17+
)
18+
})

0 commit comments

Comments
 (0)