/opt/canhelp/node_modules/next/dist/client/components/router-reducer
NameSizeModeActions
reducers/-0755rm
aliased-prefetch-navigations.d.ts15820644editdlrm
aliased-prefetch-navigations.js93070644editdlrm
aliased-prefetch-navigations.js.map147060644editdlrm
apply-flight-data.d.ts4100644editdlrm
apply-flight-data.js25100644editdlrm
apply-flight-data.js.map34340644editdlrm
apply-router-state-patch-to-tree.d.ts5540644editdlrm
apply-router-state-patch-to-tree.js42150644editdlrm
apply-router-state-patch-to-tree.js.map65150644editdlrm
clear-cache-node-data-for-segment-path.d.ts4560644editdlrm
clear-cache-node-data-for-segment-path.js33620644editdlrm
clear-cache-node-data-for-segment-path.js.map47340644editdlrm
compute-changed-path.d.ts5390644editdlrm
compute-changed-path.js55720644editdlrm
compute-changed-path.js.map84050644editdlrm
create-href-from-url.d.ts1220644editdlrm
create-href-from-url.js7670644editdlrm
create-href-from-url.js.map6010644editdlrm
create-initial-router-state.d.ts13230644editdlrm
create-initial-router-state.js64720644editdlrm
create-initial-router-state.js.map91520644editdlrm
create-router-cache-key.d.ts1720644editdlrm
create-router-cache-key.js13970644editdlrm
create-router-cache-key.js.map14300644editdlrm
fetch-server-response.d.ts19470644editdlrm
fetch-server-response.js147420644editdlrm
fetch-server-response.js.map233660644editdlrm
fill-cache-with-new-subtree-data.d.ts6880644editdlrm
fill-cache-with-new-subtree-data.js54120644editdlrm
fill-cache-with-new-subtree-data.js.map83590644editdlrm
fill-lazy-items-till-leaf-with-head.d.ts5360644editdlrm
fill-lazy-items-till-leaf-with-head.js74660644editdlrm
fill-lazy-items-till-leaf-with-head.js.map97940644editdlrm
handle-mutable.d.ts1910644editdlrm
handle-mutable.js34460644editdlrm
handle-mutable.js.map53900644editdlrm
handle-segment-mismatch.d.ts5360644editdlrm
handle-segment-mismatch.js12370644editdlrm
handle-segment-mismatch.js.map18030644editdlrm
invalidate-cache-below-flight-segmentpath.d.ts4110644editdlrm
invalidate-cache-below-flight-segmentpath.js27890644editdlrm
invalidate-cache-below-flight-segmentpath.js.map39090644editdlrm
invalidate-cache-by-router-state.d.ts3680644editdlrm
invalidate-cache-by-router-state.js14270644editdlrm
invalidate-cache-by-router-state.js.map18640644editdlrm
is-navigating-to-new-root-layout.d.ts1980644editdlrm
is-navigating-to-new-root-layout.js24730644editdlrm
is-navigating-to-new-root-layout.js.map31210644editdlrm
ppr-navigations.d.ts13790644editdlrm
ppr-navigations.js446890644editdlrm
ppr-navigations.js.map706960644editdlrm
prefetch-cache-utils.d.ts18950644editdlrm
prefetch-cache-utils.js159580644editdlrm
prefetch-cache-utils.js.map228050644editdlrm
refetch-inactive-parallel-segments.d.ts18860644editdlrm
refetch-inactive-parallel-segments.js49270644editdlrm
refetch-inactive-parallel-segments.js.map79110644editdlrm
router-reducer-types.d.ts91400644editdlrm
router-reducer-types.js24140644editdlrm
router-reducer-types.js.map98280644editdlrm
router-reducer.d.ts2610644editdlrm
router-reducer.js27870644editdlrm
router-reducer.js.map33100644editdlrm
set-cache-busting-search-param.d.ts15430644editdlrm
set-cache-busting-search-param.js29100644editdlrm
set-cache-busting-search-param.js.map47910644editdlrm
should-hard-navigate.d.ts2170644editdlrm
should-hard-navigate.js16230644editdlrm
should-hard-navigate.js.map20920644editdlrm
Edit: /opt/canhelp/node_modules/next/dist/client/components/router-reducer/compute-changed-path.js (5572B)
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { computeChangedPath: null, extractPathFromFlightRouterState: null, getSelectedParams: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { computeChangedPath: function() { return computeChangedPath; }, extractPathFromFlightRouterState: function() { return extractPathFromFlightRouterState; }, getSelectedParams: function() { return getSelectedParams; } }); const _interceptionroutes = require("../../../shared/lib/router/utils/interception-routes"); const _segment = require("../../../shared/lib/segment"); const _matchsegments = require("../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 === '' || (0, _segment.isGroupSegment)(segment)) { return acc; } return acc + "/" + segment; }, '') || '/'; } function extractPathFromFlightRouterState(flightRouterState) { const segment = Array.isArray(flightRouterState[0]) ? flightRouterState[0][1] : flightRouterState[0]; if (segment === _segment.DEFAULT_SEGMENT_KEY || _interceptionroutes.INTERCEPTION_ROUTE_MARKERS.some((m)=>segment.startsWith(m))) return undefined; if (segment.startsWith(_segment.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 (_interceptionroutes.INTERCEPTION_ROUTE_MARKERS.some((m)=>normalizedSegmentA.startsWith(m) || normalizedSegmentB.startsWith(m))) { return ''; } if (!(0, _matchsegments.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; } 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('/')); } 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(_segment.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; } 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=compute-changed-path.js.map