UNPKG

instantjob-recruiter-client

Version:

a set of tools for creating an instantjob recruiter react client

71 lines (58 loc) 2.28 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _defineProperty2 = require("babel-runtime/helpers/defineProperty"); var _defineProperty3 = _interopRequireDefault(_defineProperty2); var _extends3 = require("babel-runtime/helpers/extends"); var _extends4 = _interopRequireDefault(_extends3); var _objectWithoutProperties2 = require("babel-runtime/helpers/objectWithoutProperties"); var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); exports.recruiters = recruiters; var _base = require("./base"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var initial_state = { recruiters: {}, teams: {}, self: null }; function recruiters() { var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initial_state; var action = arguments[1]; switch (action.type) { case "store_recruiters": return (0, _base.store_items)(state, "recruiters", action.recruiters.map(function (_ref) { var default_deal_id = _ref.default_deal.id, recruiter = (0, _objectWithoutProperties3.default)(_ref, ["default_deal"]); return (0, _extends4.default)({}, recruiter, { default_deal_id: default_deal_id }); })); case "update_profile": var self = state.self; if (action.profile.id) { self = action.profile.id; } var recruiter = action.profile; if (state.recruiters[self]) { recruiter = (0, _extends4.default)({}, state.recruiters[self], recruiter); } if (self) { return (0, _extends4.default)({}, state, { recruiters: (0, _extends4.default)({}, state.recruiters, (0, _defineProperty3.default)({}, self, recruiter)), self: self }); } return state; case "update_recruiter": return (0, _base.update_item)(state, "recruiters", action.recruiter); case "update_recruiters": return (0, _base.update_items)(state, "recruiters", action.recruiters); case "store_teams": return (0, _base.store_items)(state, "teams", action.teams); case "remove_team": return (0, _base.remove_item)(state, "teams", action.team_id); default: return state; } }