UNPKG

instantjob-recruiter-client

Version:

a set of tools for creating an instantjob recruiter react client

54 lines (42 loc) 1.61 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _toConsumableArray2 = require("babel-runtime/helpers/toConsumableArray"); var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2); var _defineProperty2 = require("babel-runtime/helpers/defineProperty"); var _defineProperty3 = _interopRequireDefault(_defineProperty2); var _extends3 = require("babel-runtime/helpers/extends"); var _extends4 = _interopRequireDefault(_extends3); exports.mutes = mutes; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var initial_state = { muted_users: [], mutes_by_user: {} }; function mutes() { var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initial_state; var action = arguments[1]; switch (action.type) { case "store_muted_users": return (0, _extends4.default)({}, state, { muted_users: action.users }); case "store_muting_recruiters": return (0, _extends4.default)({}, state, { mutes_by_user: (0, _extends4.default)({}, state.mutes_by_user, (0, _defineProperty3.default)({}, action.user, action.recruiters)) }); case "mute_user": return (0, _extends4.default)({}, state, { muted_users: [].concat((0, _toConsumableArray3.default)(state.muted_users), [action.user]) }); case "unmute_user": return (0, _extends4.default)({}, state, { muted_users: state.muted_users.filter(function (user) { return user != action.user; }) }); default: return state; } }