Browse Source

subMiddleware: pass the rest of arguments

Herbert Vojčík 7 years ago
parent
commit
c3c52b3024
2 changed files with 8 additions and 4 deletions
  1. 6 2
      lib/sac.js
  2. 2 2
      src/sac.js

+ 6 - 2
lib/sac.js

@@ -47,11 +47,15 @@ var composeReducers = exports.composeReducers = function composeReducers() {
 var subMiddleware = exports.subMiddleware = function subMiddleware(keyOrSelectorFn, middleware) {
     var cow = typeof keyOrSelectorFn === "function" ? keyOrSelectorFn : (0, _cowValueModel.cowValueModel)(keyOrSelectorFn);
     return function (store) {
+        for (var _len3 = arguments.length, rest = Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
+            rest[_key3 - 1] = arguments[_key3];
+        }
+
         var _getState = store.getState;
 
-        return middleware(_extends({}, store, { getState: function getState() {
+        return middleware.apply(undefined, [_extends({}, store, { getState: function getState() {
                 return cow(_getState());
-            } }));
+            } })].concat(rest));
     };
 };
 

+ 2 - 2
src/sac.js

@@ -18,9 +18,9 @@ export const composeReducers = (...reducers) => (state, action) =>
 
 export const subMiddleware = (keyOrSelectorFn, middleware) => {
     const cow = typeof keyOrSelectorFn === "function" ? keyOrSelectorFn : cowValueModel(keyOrSelectorFn);
-    return store => {
+    return (store, ...rest) => {
         const {getState} = store;
-        return middleware({...store, getState: () => cow(getState())});
+        return middleware({...store, getState: () => cow(getState())}, ...rest);
     };
 };