instantjob-recruiter-client
Version:
a set of tools for creating an instantjob recruiter react client
82 lines (58 loc) • 2.05 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _keys = require('babel-runtime/core-js/object/keys');
var _keys2 = _interopRequireDefault(_keys);
exports.default = reducer;
var _reactRouterRedux = require('react-router-redux');
var _users = require('./users');
var _calendar = require('./calendar');
var _profile = require('./profile');
var _messages = require('./messages');
var _display = require('./display');
var _mutes = require('./mutes');
var _recruiters = require('./recruiters');
var _missions = require('./missions');
var _fields = require('./fields');
var _demands = require('./demands');
var _authentication = require('./authentication');
var _authentication2 = _interopRequireDefault(_authentication);
var _shifts = require('./shifts');
var _shifts2 = _interopRequireDefault(_shifts);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var combineReducers = function combineReducers(reducers) {
return function () {
var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var action = arguments[1];
var new_state = {};
(0, _keys2.default)(reducers).map(function (reducer_name) {
new_state[reducer_name] = reducers[reducer_name](state[reducer_name], action);
});
return new_state;
};
};
var combined_reducers = combineReducers({
authentication: _authentication2.default,
users: _users.users,
calendar: _calendar.calendar,
profile: _profile.profile,
messages: _messages.messages,
display: _display.display,
mutes: _mutes.mutes,
recruiters: _recruiters.recruiters,
missions: _missions.missions,
fields: _fields.fields,
demands: _demands.demands,
shifts: _shifts2.default,
routing: _reactRouterRedux.routerReducer
});
function reducer(state, action) {
if (action.type == 'logout') {
state = undefined;
}
if (action.type == 'combined_actions') {
return action.actions.reduce(reducer, state);
}
return combined_reducers(state, action);
}