42 lines
1.5 KiB
JavaScript
42 lines
1.5 KiB
JavaScript
|
"use strict";
|
||
|
|
||
|
Object.defineProperty(exports, "__esModule", {
|
||
|
value: true
|
||
|
});
|
||
|
exports.default = void 0;
|
||
|
|
||
|
var _actions = require("./actions");
|
||
|
|
||
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }
|
||
|
|
||
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
|
||
|
|
||
|
function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); }
|
||
|
|
||
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }
|
||
|
|
||
|
/**
|
||
|
* This middleware captures CALL_HISTORY_METHOD actions to redirect to the
|
||
|
* provided history object. This will prevent these actions from reaching your
|
||
|
* reducer or any middleware that comes after this one.
|
||
|
*/
|
||
|
var routerMiddleware = function routerMiddleware(history) {
|
||
|
return function (store) {
|
||
|
return function (next) {
|
||
|
return function (action) {
|
||
|
// eslint-disable-line no-unused-vars
|
||
|
if (action.type !== _actions.CALL_HISTORY_METHOD) {
|
||
|
return next(action);
|
||
|
}
|
||
|
|
||
|
var _action$payload = action.payload,
|
||
|
method = _action$payload.method,
|
||
|
args = _action$payload.args;
|
||
|
history[method].apply(history, _toConsumableArray(args));
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
var _default = routerMiddleware;
|
||
|
exports.default = _default;
|