Skip to content

Commit 17eb763

Browse files
author
Sergio Daniel Xalambrí
committed
v1.1.0
1 parent deb8639 commit 17eb763

File tree

4 files changed

+20
-7
lines changed

4 files changed

+20
-7
lines changed

README.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,13 @@ import reduxCatch from 'redux-catch';
1010

1111
import reducer from './reducer';
1212

13+
function errorHandler(error, getState) {
14+
console.error(error);
15+
console.debug('current state', getState());
16+
}
17+
1318
const store = createStore(reducer, applyMiddleware(
14-
reduxCatch(error => console.error(error))
19+
reduxCatch(errorHandler)
1520
));
1621
```
1722
- `reduxCatch` receive a function to use when an error happen.

lib/index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
const catchMiddleware = errorHandler => () => next => action => {
1+
const catchMiddleware = errorHandler => (store) => next => action => {
22
try {
33
return next(action);
44
} catch (error) {
5-
errorHandler(error);
5+
errorHandler(error, store.getState);
66
return error;
77
}
88
};

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "redux-catch",
3-
"version": "1.0.0",
3+
"version": "1.1.0",
44
"description": "Error catcher middleware for Redux reducers and middlewares",
55
"main": "build/index.js",
66
"scripts": {

test/index.js

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,29 @@ import test from 'tape';
22

33
import middleware from '../build/index.js';
44

5-
const mockedMiddlewareAPI = {};
5+
const mockedMiddlewareAPI = {
6+
getState() {
7+
return 'test';
8+
},
9+
};
610
const baseError = new Error('There was an error.');
711

812
test('Catch middleware - error case', t => {
913
const mockedNext = () => {
1014
throw baseError;
1115
};
1216

13-
t.plan(2);
17+
t.plan(3);
1418

15-
function errorHandler(error) {
19+
function errorHandler(error, getState) {
1620
t.ok(
1721
error.message === baseError.message,
1822
'it should receive the expected error message in the `errorHandler`'
1923
);
24+
t.ok(
25+
getState() === 'test',
26+
'it should get the expected state from `getState()`'
27+
);
2028
}
2129

2230
const error = middleware(errorHandler)(mockedMiddlewareAPI)(mockedNext)();

0 commit comments

Comments
 (0)