Skip to content

Commit 00de31b

Browse files
committed
Fix accidental broken impl
1 parent 63a6d54 commit 00de31b

File tree

1 file changed

+14
-16
lines changed

1 file changed

+14
-16
lines changed

src/utils/applyMiddleware.js

+14-16
Original file line numberDiff line numberDiff line change
@@ -17,23 +17,21 @@ import compose from './compose';
1717
* @returns {Function} A store enhancer applying the middleware.
1818
*/
1919
export default function applyMiddleware(...middlewares) {
20-
return function applyGivenMiddleware(createStore) {
21-
middlewares = middlewares.slice();
22-
middlewares.reverse();
20+
return (next) => (reducer, initialState) => {
21+
var store = next(reducer, initialState);
22+
var dispatch = store.dispatch;
23+
var chain = [];
2324

24-
return function createStoreWithMiddleware(reducer, initialState) {
25-
const store = createStore(reducer, initialState);
26-
27-
let dispatch = store.dispatch;
28-
let middlewareAPI = {
29-
getState: store.getState,
30-
dispatch: (action) => dispatch(action)
31-
};
32-
middlewares.forEach(middleware =>
33-
dispatch = middleware(store)(dispatch)
34-
);
25+
var middlewareAPI = {
26+
getState: store.getState,
27+
dispatch: (action) => dispatch(action)
28+
};
29+
chain = middlewares.map(middleware => middleware(middlewareAPI));
30+
dispatch = compose(...chain, store.dispatch);
3531

36-
return Object.assign({}, store, { dispatch });
32+
return {
33+
...store,
34+
dispatch
3735
};
38-
}
36+
};
3937
}

0 commit comments

Comments
 (0)