awv3
Version:
⚡ AWV3 embedded CAD
57 lines (45 loc) • 1.82 kB
JavaScript
;
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;
};