'use strict';
exports.__esModule = true;
exports['default'] = handleActions;
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var _handleAction = require('./handleAction');
var _handleAction2 = _interopRequireDefault(_handleAction);
var _ownKeys = require('./ownKeys');
var _ownKeys2 = _interopRequireDefault(_ownKeys);
var _reduceReducers = require('reduce-reducers');
var _reduceReducers2 = _interopRequireDefault(_reduceReducers);
function handleActions(handlers, defaultState) {
var reducers = _ownKeys2['default'](handlers).map(function (type) {
return _handleAction2['default'](type, handlers[type]);
});
return typeof defaultState !== 'undefined' ? function (state, action) {
if (state === undefined) state = defaultState;
return _reduceReducers2['default'].apply(undefined, reducers)(state, action);
} : _reduceReducers2['default'].apply(undefined, reducers);
}
module.exports = exports['default'];