UNPKG

redux-smart-actions

Version:
39 lines (33 loc) 972 B
var TYPES_DELIMITER = '@@'; export var joinTypes = function joinTypes() { for (var _len = arguments.length, types = new Array(_len), _key = 0; _key < _len; _key++) { types[_key] = arguments[_key]; } return types.map(function (type) { return type.toString(); }).join(TYPES_DELIMITER); }; export var createReducer = function createReducer(handlers, defaultState) { handlers = Object.entries(handlers).reduce(function (prev, _ref) { var type = _ref[0], handler = _ref[1]; if (type.includes(TYPES_DELIMITER)) { type.split(TYPES_DELIMITER).forEach(function (singleType) { prev[singleType] = handler; }); } else { prev[type.toString()] = handler; } return prev; }, {}); return function (state, action) { if (state === undefined) { return defaultState; } var handler = handlers[action.type]; if (handler) { return handler(state, action); } return state; }; };