UNPKG

awv3

Version:
57 lines (45 loc) 1.82 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.reducer = exports.actions = exports.types = undefined; var _defineProperty2 = require("babel-runtime/helpers/defineProperty"); var _defineProperty3 = _interopRequireDefault(_defineProperty2); var _extends3 = require("babel-runtime/helpers/extends"); var _extends4 = _interopRequireDefault(_extends3); var _omit = require("lodash/omit"); var _omit2 = _interopRequireDefault(_omit); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var types = exports.types = { register: "RESOURCE_REGISTER", registerMap: "RESOURCE_REGISTER_MAP", unregister: "RESOURCE_UNREGISTER" }; var actions = exports.actions = { register: function register(name, data) { return { type: types.register, payload: { data: data } }; }, registerMap: function registerMap(map) { return { type: types.registerMap, payload: { map: map } }; }, unregister: function unregister(name) { return { type: types.unregister, payload: { name: name } }; } }; var reducer = exports.reducer = function reducer() { var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var _ref = arguments[1]; var type = _ref.type, payload = _ref.payload; if (type === types.register) { // Add new resource return (0, _extends4.default)({}, state, (0, _defineProperty3.default)({}, payload.name, payload.data)); } else if (type === types.registerMap) { // Add new resources return (0, _extends4.default)({}, state, payload.map); } else if (type === types.unregister) { // Remove existing resource return (0, _omit2.default)(state, payload.name); } return state; };