26 lines
850 B
Plaintext
26 lines
850 B
Plaintext
import { createRouterCacheKey } from "../create-router-cache-key";
|
|
export function findHeadInCache(cache, parallelRoutes) {
|
|
const isLastItem = Object.keys(parallelRoutes).length === 0;
|
|
if (isLastItem) {
|
|
return cache.head;
|
|
}
|
|
for(const key in parallelRoutes){
|
|
const [segment, childParallelRoutes] = parallelRoutes[key];
|
|
const childSegmentMap = cache.parallelRoutes.get(key);
|
|
if (!childSegmentMap) {
|
|
continue;
|
|
}
|
|
const cacheKey = createRouterCacheKey(segment);
|
|
const cacheNode = childSegmentMap.get(cacheKey);
|
|
if (!cacheNode) {
|
|
continue;
|
|
}
|
|
const item = findHeadInCache(cacheNode, childParallelRoutes);
|
|
if (item) {
|
|
return item;
|
|
}
|
|
}
|
|
return undefined;
|
|
}
|
|
|
|
//# sourceMappingURL=find-head-in-cache.js.map |