UNPKG

@netlify/content-engine

Version:
44 lines 1.96 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.resolvedNodesCacheReducer = void 0; const lodash_merge_1 = __importDefault(require("lodash.merge")); const resolvedNodesCacheReducer = (state = new Map(), action) => { switch (action.type) { case `DELETE_CACHE`: case `CREATE_NODE`: case `DELETE_NODE`: return new Map(); case `SET_RESOLVED_NODES`: { const { key, nodes } = action.payload; const existingResolvedNodes = state.get(key); if (existingResolvedNodes) { // merge new resolved fields for given type with previously existing ones for (const [nodeId, resolvedFields] of nodes.entries()) { const previouslyResolvedNodeFields = existingResolvedNodes.get(nodeId); if (previouslyResolvedNodeFields) { // merge new resolved fields for given node id with previously existing ones existingResolvedNodes.set(nodeId, (0, lodash_merge_1.default)(previouslyResolvedNodeFields, resolvedFields)); } else { // we didn't have any resolved fields for this node id, so we can just set new // ones as-is existingResolvedNodes.set(nodeId, resolvedFields); } } } else { // we didn't have resolved fields for this type yet, so // we can just set it state.set(key, nodes); } return state; } default: return state; } }; exports.resolvedNodesCacheReducer = resolvedNodesCacheReducer; //# sourceMappingURL=resolved-nodes.js.map