redux-dispatcher
Version:
All-in-one simple solution to manage actions with less code
33 lines (26 loc) • 1.04 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = synthesize;
var _createFacade = _interopRequireDefault(require("./createFacade"));
var _utils = require("./utils");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
* @param: mapDispatchToAC: Object<string: function or object>
* @param: mapActionToDispatch: Object<string: function>
*/
function synthesize(key, mapDispatchToAC, enhancer) {
/*enhancer = mapEnhance[enhancer];
if (enhancer)
mapDispatchToAC = enhancer.injectAction(mapDispatchToAC);*/
const mapDispatchToAction = {}; // Object<string: function or object>
for (const dispatch in mapDispatchToAC) if (mapDispatchToAC.hasOwnProperty(dispatch)) {
const actionType = key + '/' + (0, _utils.camelCaseToActionType)(dispatch);
mapDispatchToAction[dispatch] = {
type: actionType,
creator: mapDispatchToAC[dispatch]
};
}
return (0, _createFacade.default)(key, mapDispatchToAction, enhancer);
}