"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "fillLazyItemsTillLeafWithHead", { enumerable: true, get: function() { return fillLazyItemsTillLeafWithHead; } }); const _approutercontextsharedruntime = require("../../../shared/lib/app-router-context.shared-runtime"); const _createroutercachekey = require("./create-router-cache-key"); function fillLazyItemsTillLeafWithHead(newCache, existingCache, routerState, head, wasPrefetched) { const isLastSegment = Object.keys(routerState[1]).length === 0; if (isLastSegment) { newCache.head = head; return; } // Remove segment that we got data for so that it is filled in during rendering of subTreeData. for(const key in routerState[1]){ const parallelRouteState = routerState[1][key]; const segmentForParallelRoute = parallelRouteState[0]; const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(segmentForParallelRoute); if (existingCache) { const existingParallelRoutesCacheNode = existingCache.parallelRoutes.get(key); if (existingParallelRoutesCacheNode) { let parallelRouteCacheNode = new Map(existingParallelRoutesCacheNode); const existingCacheNode = parallelRouteCacheNode.get(cacheKey); const newCacheNode = wasPrefetched && existingCacheNode ? { status: existingCacheNode.status, data: existingCacheNode.data, subTreeData: existingCacheNode.subTreeData, parallelRoutes: new Map(existingCacheNode.parallelRoutes) } : { status: _approutercontextsharedruntime.CacheStates.LAZY_INITIALIZED, data: null, subTreeData: null, parallelRoutes: new Map(existingCacheNode == null ? void 0 : existingCacheNode.parallelRoutes) }; // Overrides the cache key with the new cache node. parallelRouteCacheNode.set(cacheKey, newCacheNode); // Traverse deeper to apply the head / fill lazy items till the head. fillLazyItemsTillLeafWithHead(newCacheNode, existingCacheNode, parallelRouteState, head, wasPrefetched); newCache.parallelRoutes.set(key, parallelRouteCacheNode); continue; } } const newCacheNode = { status: _approutercontextsharedruntime.CacheStates.LAZY_INITIALIZED, data: null, subTreeData: null, parallelRoutes: new Map() }; const existingParallelRoutes = newCache.parallelRoutes.get(key); if (existingParallelRoutes) { existingParallelRoutes.set(cacheKey, newCacheNode); } else { newCache.parallelRoutes.set(key, new Map([ [ cacheKey, newCacheNode ] ])); } fillLazyItemsTillLeafWithHead(newCacheNode, undefined, parallelRouteState, head, wasPrefetched); } } if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=fill-lazy-items-till-leaf-with-head.js.map