redux-contexts
Version:
[](https://www.npmjs.com/package/multireducer) [](https://travis-ci.org/Vi
36 lines (27 loc) • 1.7 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _multireducer = require('multireducer');
var _virtualizedState = require('./virtualizedState');
var _virtualizedState2 = _interopRequireDefault(_virtualizedState);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = function (dispatch, contextName) {
var wrappedDispatch = function wrappedDispatch(action) {
var wrappedAction = void 0;
if (typeof action === 'function') {
wrappedAction = function wrappedAction(dispatch, getState, extraArgument) {
var wrappedGetState = function wrappedGetState() {
return (0, _virtualizedState2.default)(getState(), contextName);
};
return action(wrappedDispatch, wrappedGetState, _extends({}, extraArgument, { dispatch: dispatch, getState: getState, contextName: contextName }));
};
} else if ((typeof action === 'undefined' ? 'undefined' : _typeof(action)) === 'object') {
wrappedAction = (0, _multireducer.wrapAction)(action, contextName);
}
return dispatch(wrappedAction);
};
return wrappedDispatch;
};