Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Bower components Debian packages RPM packages NuGet packages

pfchangs / redux-actions   js

Repository URL to install this package:

Version: 0.9.0-alpha 

/ lib / handleActions.js

'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'];