File tree Expand file tree Collapse file tree 4 files changed +20
-7
lines changed Expand file tree Collapse file tree 4 files changed +20
-7
lines changed Original file line number Diff line number Diff line change @@ -10,8 +10,13 @@ import reduxCatch from 'redux-catch';
10
10
11
11
import reducer from ' ./reducer' ;
12
12
13
+ function errorHandler (error , getState ) {
14
+ console .error (error);
15
+ console .debug (' current state' , getState ());
16
+ }
17
+
13
18
const store = createStore (reducer, applyMiddleware (
14
- reduxCatch (error => console . error (error) )
19
+ reduxCatch (errorHandler )
15
20
));
16
21
```
17
22
- ` reduxCatch ` receive a function to use when an error happen.
Original file line number Diff line number Diff line change 1
- const catchMiddleware = errorHandler => ( ) => next => action => {
1
+ const catchMiddleware = errorHandler => ( store ) => next => action => {
2
2
try {
3
3
return next ( action ) ;
4
4
} catch ( error ) {
5
- errorHandler ( error ) ;
5
+ errorHandler ( error , store . getState ) ;
6
6
return error ;
7
7
}
8
8
} ;
Original file line number Diff line number Diff line change 1
1
{
2
2
"name" : " redux-catch" ,
3
- "version" : " 1.0 .0" ,
3
+ "version" : " 1.1 .0" ,
4
4
"description" : " Error catcher middleware for Redux reducers and middlewares" ,
5
5
"main" : " build/index.js" ,
6
6
"scripts" : {
Original file line number Diff line number Diff line change @@ -2,21 +2,29 @@ import test from 'tape';
2
2
3
3
import middleware from '../build/index.js' ;
4
4
5
- const mockedMiddlewareAPI = { } ;
5
+ const mockedMiddlewareAPI = {
6
+ getState ( ) {
7
+ return 'test' ;
8
+ } ,
9
+ } ;
6
10
const baseError = new Error ( 'There was an error.' ) ;
7
11
8
12
test ( 'Catch middleware - error case' , t => {
9
13
const mockedNext = ( ) => {
10
14
throw baseError ;
11
15
} ;
12
16
13
- t . plan ( 2 ) ;
17
+ t . plan ( 3 ) ;
14
18
15
- function errorHandler ( error ) {
19
+ function errorHandler ( error , getState ) {
16
20
t . ok (
17
21
error . message === baseError . message ,
18
22
'it should receive the expected error message in the `errorHandler`'
19
23
) ;
24
+ t . ok (
25
+ getState ( ) === 'test' ,
26
+ 'it should get the expected state from `getState()`'
27
+ ) ;
20
28
}
21
29
22
30
const error = middleware ( errorHandler ) ( mockedMiddlewareAPI ) ( mockedNext ) ( ) ;
You can’t perform that action at this time.
0 commit comments