/
opt
/
canhelp
/
node_modules
/
next
/
dist
/
esm
/
client
/
components
/
router-reducer
/
/opt/canhelp/node_modules/next/dist/esm/client/components/router-reducer
mkdir
upload
Name
Size
Mode
Actions
reducers/
-
0755
rm
aliased-prefetch-navigations.js
9255
0644
edit
dl
rm
aliased-prefetch-navigations.js.map
14795
0644
edit
dl
rm
apply-flight-data.js
1900
0644
edit
dl
rm
apply-flight-data.js.map
3438
0644
edit
dl
rm
apply-router-state-patch-to-tree.js
3777
0644
edit
dl
rm
apply-router-state-patch-to-tree.js.map
6533
0644
edit
dl
rm
clear-cache-node-data-for-segment-path.js
2888
0644
edit
dl
rm
clear-cache-node-data-for-segment-path.js.map
4754
0644
edit
dl
rm
compute-changed-path.js
4640
0644
edit
dl
rm
compute-changed-path.js.map
8380
0644
edit
dl
rm
create-href-from-url.js
227
0644
edit
dl
rm
create-href-from-url.js.map
584
0644
edit
dl
rm
create-initial-router-state.js
5731
0644
edit
dl
rm
create-initial-router-state.js.map
9232
0644
edit
dl
rm
create-router-cache-key.js
840
0644
edit
dl
rm
create-router-cache-key.js.map
1423
0644
edit
dl
rm
fetch-server-response.js
13838
0644
edit
dl
rm
fetch-server-response.js.map
23503
0644
edit
dl
rm
fill-cache-with-new-subtree-data.js
4453
0644
edit
dl
rm
fill-cache-with-new-subtree-data.js.map
8376
0644
edit
dl
rm
fill-lazy-items-till-leaf-with-head.js
6857
0644
edit
dl
rm
fill-lazy-items-till-leaf-with-head.js.map
9804
0644
edit
dl
rm
handle-mutable.js
2887
0644
edit
dl
rm
handle-mutable.js.map
5381
0644
edit
dl
rm
handle-segment-mismatch.js
867
0644
edit
dl
rm
handle-segment-mismatch.js.map
1810
0644
edit
dl
rm
invalidate-cache-below-flight-segmentpath.js
2255
0644
edit
dl
rm
invalidate-cache-below-flight-segmentpath.js.map
3929
0644
edit
dl
rm
invalidate-cache-by-router-state.js
902
0644
edit
dl
rm
invalidate-cache-by-router-state.js.map
1870
0644
edit
dl
rm
is-navigating-to-new-root-layout.js
1913
0644
edit
dl
rm
is-navigating-to-new-root-layout.js.map
3104
0644
edit
dl
rm
ppr-navigations.js
45642
0644
edit
dl
rm
ppr-navigations.js.map
71127
0644
edit
dl
rm
prefetch-cache-utils.js
14732
0644
edit
dl
rm
prefetch-cache-utils.js.map
22724
0644
edit
dl
rm
refetch-inactive-parallel-segments.js
5163
0644
edit
dl
rm
refetch-inactive-parallel-segments.js.map
7937
0644
edit
dl
rm
router-reducer-types.js
1322
0644
edit
dl
rm
router-reducer-types.js.map
9732
0644
edit
dl
rm
router-reducer.js
2159
0644
edit
dl
rm
router-reducer.js.map
3451
0644
edit
dl
rm
set-cache-busting-search-param.js
3279
0644
edit
dl
rm
set-cache-busting-search-param.js.map
4848
0644
edit
dl
rm
should-hard-navigate.js
1133
0644
edit
dl
rm
should-hard-navigate.js.map
2111
0644
edit
dl
rm
Edit:
/opt/canhelp/node_modules/next/dist/esm/client/components/router-reducer/compute-changed-path.js
(4640B)
import { INTERCEPTION_ROUTE_MARKERS } from '../../../shared/lib/router/utils/interception-routes'; import { isGroupSegment, DEFAULT_SEGMENT_KEY, PAGE_SEGMENT_KEY } from '../../../shared/lib/segment'; import { matchSegment } from '../match-segments'; const removeLeadingSlash = (segment)=>{ return segment[0] === '/' ? segment.slice(1) : segment; }; const segmentToPathname = (segment)=>{ if (typeof segment === 'string') { // 'children' is not a valid path -- it's technically a parallel route that corresponds with the current segment's page // if we don't skip it, then the computed pathname might be something like `/children` which doesn't make sense. if (segment === 'children') return ''; return segment; } return segment[1]; }; function normalizeSegments(segments) { return segments.reduce((acc, segment)=>{ segment = removeLeadingSlash(segment); if (segment === '' || isGroupSegment(segment)) { return acc; } return acc + "/" + segment; }, '') || '/'; } export function extractPathFromFlightRouterState(flightRouterState) { const segment = Array.isArray(flightRouterState[0]) ? flightRouterState[0][1] : flightRouterState[0]; if (segment === DEFAULT_SEGMENT_KEY || INTERCEPTION_ROUTE_MARKERS.some((m)=>segment.startsWith(m))) return undefined; if (segment.startsWith(PAGE_SEGMENT_KEY)) return ''; const segments = [ segmentToPathname(segment) ]; var _flightRouterState_; const parallelRoutes = (_flightRouterState_ = flightRouterState[1]) != null ? _flightRouterState_ : {}; const childrenPath = parallelRoutes.children ? extractPathFromFlightRouterState(parallelRoutes.children) : undefined; if (childrenPath !== undefined) { segments.push(childrenPath); } else { for (const [key, value] of Object.entries(parallelRoutes)){ if (key === 'children') continue; const childPath = extractPathFromFlightRouterState(value); if (childPath !== undefined) { segments.push(childPath); } } } return normalizeSegments(segments); } function computeChangedPathImpl(treeA, treeB) { const [segmentA, parallelRoutesA] = treeA; const [segmentB, parallelRoutesB] = treeB; const normalizedSegmentA = segmentToPathname(segmentA); const normalizedSegmentB = segmentToPathname(segmentB); if (INTERCEPTION_ROUTE_MARKERS.some((m)=>normalizedSegmentA.startsWith(m) || normalizedSegmentB.startsWith(m))) { return ''; } if (!matchSegment(segmentA, segmentB)) { var _extractPathFromFlightRouterState; // once we find where the tree changed, we compute the rest of the path by traversing the tree return (_extractPathFromFlightRouterState = extractPathFromFlightRouterState(treeB)) != null ? _extractPathFromFlightRouterState : ''; } for(const parallelRouterKey in parallelRoutesA){ if (parallelRoutesB[parallelRouterKey]) { const changedPath = computeChangedPathImpl(parallelRoutesA[parallelRouterKey], parallelRoutesB[parallelRouterKey]); if (changedPath !== null) { return segmentToPathname(segmentB) + "/" + changedPath; } } } return null; } export function computeChangedPath(treeA, treeB) { const changedPath = computeChangedPathImpl(treeA, treeB); if (changedPath == null || changedPath === '/') { return changedPath; } // lightweight normalization to remove route groups return normalizeSegments(changedPath.split('/')); } /** * Recursively extracts dynamic parameters from FlightRouterState. */ export function getSelectedParams(currentTree, params) { if (params === void 0) params = {}; const parallelRoutes = currentTree[1]; for (const parallelRoute of Object.values(parallelRoutes)){ const segment = parallelRoute[0]; const isDynamicParameter = Array.isArray(segment); const segmentValue = isDynamicParameter ? segment[1] : segment; if (!segmentValue || segmentValue.startsWith(PAGE_SEGMENT_KEY)) continue; // Ensure catchAll and optional catchall are turned into an array const isCatchAll = isDynamicParameter && (segment[2] === 'c' || segment[2] === 'oc'); if (isCatchAll) { params[segment[0]] = segment[1].split('/'); } else if (isDynamicParameter) { params[segment[0]] = segment[1]; } params = getSelectedParams(parallelRoute, params); } return params; } //# sourceMappingURL=compute-changed-path.js.map
Save
cmd:
run