@randy.tarampi/jsx
Version:
Some common JSX components for www.randytarampi.ca
46 lines (34 loc) • 1.16 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.hasMap = exports.getMap = exports["default"] = exports.mapReducer = void 0;
var _immutable = require("immutable");
var _map = require("../actions/map");
var mapReducer = function mapReducer() {
var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : (0, _immutable.Map)();
var action = arguments.length > 1 ? arguments[1] : undefined;
switch (action.type) {
case _map.INSTANTIATE_GOOGLE_MAP:
case _map.UPDATE_MAP:
{
var mapState = state.get(action.payload.id) || (0, _immutable.Map)();
return state.set(action.payload.id, mapState.mergeDeep((0, _immutable.fromJS)(action.payload)));
}
case _map.CLEAR_MAP:
return state["delete"](action.payload.id);
default:
return state;
}
};
exports.mapReducer = mapReducer;
var _default = mapReducer;
exports["default"] = _default;
var getMap = function getMap(state, mapId) {
return state.get(mapId);
};
exports.getMap = getMap;
var hasMap = function hasMap(state, mapId) {
return !!getMap(state, mapId);
};
exports.hasMap = hasMap;