49 lines
1.7 KiB
JavaScript
49 lines
1.7 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
Object.defineProperty(exports, "findHeadInCache", {
|
|
enumerable: true,
|
|
get: function() {
|
|
return findHeadInCache;
|
|
}
|
|
});
|
|
const _createroutercachekey = require("../create-router-cache-key");
|
|
function findHeadInCache(cache, parallelRoutes) {
|
|
return findHeadInCacheImpl(cache, parallelRoutes, "");
|
|
}
|
|
function findHeadInCacheImpl(cache, parallelRoutes, keyPrefix) {
|
|
const isLastItem = Object.keys(parallelRoutes).length === 0;
|
|
if (isLastItem) {
|
|
// Returns the entire Cache Node of the segment whose head we will render.
|
|
return [
|
|
cache,
|
|
keyPrefix
|
|
];
|
|
}
|
|
for(const key in parallelRoutes){
|
|
const [segment, childParallelRoutes] = parallelRoutes[key];
|
|
const childSegmentMap = cache.parallelRoutes.get(key);
|
|
if (!childSegmentMap) {
|
|
continue;
|
|
}
|
|
const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(segment);
|
|
const cacheNode = childSegmentMap.get(cacheKey);
|
|
if (!cacheNode) {
|
|
continue;
|
|
}
|
|
const item = findHeadInCacheImpl(cacheNode, childParallelRoutes, keyPrefix + "/" + cacheKey);
|
|
if (item) {
|
|
return item;
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
|
|
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=find-head-in-cache.js.map
|