UNPKG

next

Version:

The React Framework

33 lines (32 loc) 1.13 kB
import { createRouterCacheKey } from '../create-router-cache-key'; export 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 = createRouterCacheKey(segment); const cacheNode = childSegmentMap.get(cacheKey); if (!cacheNode) { continue; } const item = findHeadInCacheImpl(cacheNode, childParallelRoutes, keyPrefix + '/' + cacheKey); if (item) { return item; } } return null; } //# sourceMappingURL=find-head-in-cache.js.map