UNPKG

refer

Version:

redux-like library for handling global state on functional style

36 lines (28 loc) 1.02 kB
'use strict'; exports.__esModule = true; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var _createDispatch = require('./createDispatch'); var _createDispatch2 = _interopRequireDefault(_createDispatch); var _types = require('./types'); var combineHandlers = function combineHandlers() { for (var _len = arguments.length, handlers = Array(_len), _key = 0; _key < _len; _key++) { handlers[_key] = arguments[_key]; } return handlers.reduce(function (rootHandler, handler) { if (_types.isArr(handler)) { handler = combineHandlers.apply(undefined, handler); } var dispatch = _createDispatch2['default'](handler); return Object.keys(handler).reduce(function (rootHandler, key) { if (!rootHandler[key]) { rootHandler[key] = []; } rootHandler[key].push(function (value) { return dispatch(key, value); }); return rootHandler; }, rootHandler); }, {}); }; exports['default'] = combineHandlers; module.exports = exports['default'];