redux-modules
Version:
A library for defining clear, boilerplate free Redux reducers.
38 lines (28 loc) • 957 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _get2 = require('lodash/get');
var _get3 = _interopRequireDefault(_get2);
exports.default = createMapDispatchToProps;
var _redux = require('redux');
var _toObject = require('../utils/toObject');
var _toObject2 = _interopRequireDefault(_toObject);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function createMapDispatchToProps(modules) {
return function mapDispatchToProps(dispatch, ownProps) {
var dispatchFunc = (0, _get3.default)(ownProps, 'dispatch', dispatch);
function bindDispatch(_ref) {
var actions = _ref.actions;
return (0, _redux.bindActionCreators)(actions, dispatchFunc);
}
if (modules.length === 1) {
return {
actions: bindDispatch(modules[0])
};
}
return {
actions: (0, _toObject2.default)(modules, 'name', bindDispatch)
};
};
}