/home/techb158/balavpn.abdallabala.com/node_modules/next/dist/esm/client
NameSizeModeActions
app-dir/-0777rm
compat/-0777rm
components/-0777rm
dev/-0777rm
legacy/-0777rm
lib/-0777rm
portal/-0777rm
react-client-callbacks/-0777rm
request/-0777rm
tracing/-0777rm
add-base-path.js4330666editdlrm
add-base-path.js.map9780666editdlrm
add-locale.js5010666editdlrm
add-locale.js.map8990666editdlrm
app-bootstrap.js22100666editdlrm
app-bootstrap.js.map39640666editdlrm
app-build-id.js9850666editdlrm
app-build-id.js.map14180666editdlrm
app-call-server.js6000666editdlrm
app-call-server.js.map10410666editdlrm
app-find-source-map-url.js11240666editdlrm
app-find-source-map-url.js.map20810666editdlrm
app-globals.js3010666editdlrm
app-globals.js.map6000666editdlrm
app-index.js102280666editdlrm
app-index.js.map172380666editdlrm
app-link-gc.js40250666editdlrm
app-link-gc.js.map51460666editdlrm
app-next-dev.js7330666editdlrm
app-next-dev.js.map12640666editdlrm
app-next-turbopack.js8430666editdlrm
app-next-turbopack.js.map16820666editdlrm
app-next.js8560666editdlrm
app-next.js.map12660666editdlrm
app-webpack.js27270666editdlrm
app-webpack.js.map32070666editdlrm
assign-location.js9950666editdlrm
assign-location.js.map15570666editdlrm
detect-domain-locale.js3800666editdlrm
detect-domain-locale.js.map7110666editdlrm
flight-data-helpers.js50880666editdlrm
flight-data-helpers.js.map86570666editdlrm
form-shared.js55520666editdlrm
form-shared.js.map106220666editdlrm
form.js52120666editdlrm
form.js.map83060666editdlrm
get-domain-locale.js9980666editdlrm
get-domain-locale.js.map24510666editdlrm
has-base-path.js2570666editdlrm
has-base-path.js.map5980666editdlrm
head-manager.js49880666editdlrm
head-manager.js.map83200666editdlrm
image-component.js128780666editdlrm
image-component.js.map214460666editdlrm
index.js312570666editdlrm
index.js.map527990666editdlrm
link.js181650666editdlrm
link.js.map343940666editdlrm
next-dev-turbopack.js14170666editdlrm
next-dev-turbopack.js.map30540666editdlrm
next-dev.js6260666editdlrm
next-dev.js.map12300666editdlrm
next-turbopack.js11660666editdlrm
next-turbopack.js.map23970666editdlrm
next.js3830666editdlrm
next.js.map8930666editdlrm
normalize-locale-path.js3390666editdlrm
normalize-locale-path.js.map8720666editdlrm
normalize-trailing-slash.js9350666editdlrm
normalize-trailing-slash.js.map17360666editdlrm
page-bootstrap.js63140666editdlrm
page-bootstrap.js.map90250666editdlrm
page-loader.js68200666editdlrm
page-loader.js.map122200666editdlrm
remove-base-path.js5260666editdlrm
remove-base-path.js.map11380666editdlrm
remove-locale.js6000666editdlrm
remove-locale.js.map13010666editdlrm
request-idle-callback.js6340666editdlrm
request-idle-callback.js.map13920666editdlrm
resolve-href.js48160666editdlrm
resolve-href.js.map79830666editdlrm
route-announcer.js23460666editdlrm
route-announcer.js.map35230666editdlrm
route-loader.js130750666editdlrm
route-loader.js.map230360666editdlrm
route-params.js68150666editdlrm
route-params.js.map108220666editdlrm
router.js58730666editdlrm
router.js.map88450666editdlrm
script.js127280666editdlrm
script.js.map188540666editdlrm
set-attributes-from-props.js18170666editdlrm
set-attributes-from-props.js.map31010666editdlrm
trusted-types.js14100666editdlrm
trusted-types.js.map19560666editdlrm
use-client-disallowed.js4760666editdlrm
use-client-disallowed.js.map7390666editdlrm
use-intersection.js32480666editdlrm
use-intersection.js.map66470666editdlrm
use-merged-ref.js23450666editdlrm
use-merged-ref.js.map35660666editdlrm
web-vitals.js4910666editdlrm
web-vitals.js.map10050666editdlrm
webpack.js18770666editdlrm
webpack.js.map25420666editdlrm
with-router.js7810666editdlrm
with-router.js.map19350666editdlrm
Edit: /home/techb158/balavpn.abdallabala.com/node_modules/next/dist/esm/client/route-params.js (6815B)
import { addSearchParamsIfPageSegment, DEFAULT_SEGMENT_KEY, PAGE_SEGMENT_KEY } from '../shared/lib/segment'; import { ROOT_SEGMENT_REQUEST_KEY } from '../shared/lib/segment-cache/segment-value-encoding'; import { NEXT_REWRITTEN_PATH_HEADER, NEXT_REWRITTEN_QUERY_HEADER, NEXT_RSC_UNION_QUERY } from './components/app-router-headers'; export function getRenderedSearch(response) { // If the server performed a rewrite, the search params used to render the // page will be different from the params in the request URL. In this case, // the response will include a header that gives the rewritten search query. const rewrittenQuery = response.headers.get(NEXT_REWRITTEN_QUERY_HEADER); if (rewrittenQuery !== null) { return rewrittenQuery === '' ? '' : '?' + rewrittenQuery; } // If the header is not present, there was no rewrite, so we use the search // query of the response URL. return urlToUrlWithoutFlightMarker(new URL(response.url)).search; } export function getRenderedPathname(response) { // If the server performed a rewrite, the pathname used to render the // page will be different from the pathname in the request URL. In this case, // the response will include a header that gives the rewritten pathname. const rewrittenPath = response.headers.get(NEXT_REWRITTEN_PATH_HEADER); return rewrittenPath != null ? rewrittenPath : urlToUrlWithoutFlightMarker(new URL(response.url)).pathname; } export function parseDynamicParamFromURLPart(paramType, pathnameParts, partIndex) { // This needs to match the behavior in get-dynamic-param.ts. switch(paramType){ // Catchalls case 'c': case 'ci': { // Catchalls receive all the remaining URL parts. If there are no // remaining pathname parts, return an empty array. return partIndex < pathnameParts.length ? pathnameParts.slice(partIndex).map((s)=>encodeURIComponent(s)) : []; } // Optional catchalls case 'oc': { // Optional catchalls receive all the remaining URL parts, unless this is // the end of the pathname, in which case they return null. return partIndex < pathnameParts.length ? pathnameParts.slice(partIndex).map((s)=>encodeURIComponent(s)) : null; } // Dynamic case 'd': case 'di': { if (partIndex >= pathnameParts.length) { // The route tree expected there to be more parts in the URL than there // actually are. This could happen if the x-nextjs-rewritten-path header // is incorrectly set, or potentially due to bug in Next.js. TODO: // Should this be a hard error? During a prefetch, we can just abort. // During a client navigation, we could trigger a hard refresh. But if // it happens during initial render, we don't really have any // recovery options. return ''; } return encodeURIComponent(pathnameParts[partIndex]); } default: paramType; return ''; } } export function doesStaticSegmentAppearInURL(segment) { // This is not a parameterized segment; however, we need to determine // whether or not this segment appears in the URL. For example, this route // groups do not appear in the URL, so they should be skipped. Any other // special cases must be handled here. // TODO: Consider encoding this directly into the router tree instead of // inferring it on the client based on the segment type. Something like // a `doesAppearInURL` flag in FlightRouterState. if (segment === ROOT_SEGMENT_REQUEST_KEY || // For some reason, the loader tree sometimes includes extra __PAGE__ // "layouts" when part of a parallel route. But it's not a leaf node. // Otherwise, we wouldn't need this special case because pages are // always leaf nodes. // TODO: Investigate why the loader produces these fake page segments. segment.startsWith(PAGE_SEGMENT_KEY) || // Route groups. segment[0] === '(' && segment.endsWith(')') || segment === DEFAULT_SEGMENT_KEY || segment === '/_not-found') { return false; } else { // All other segment types appear in the URL return true; } } export function getCacheKeyForDynamicParam(paramValue, renderedSearch) { // This needs to match the logic in get-dynamic-param.ts, until we're able to // unify the various implementations so that these are always computed on // the client. if (typeof paramValue === 'string') { // TODO: Refactor or remove this helper function to accept a string rather // than the whole segment type. Also we can probably just append the // search string instead of turning it into JSON. const pageSegmentWithSearchParams = addSearchParamsIfPageSegment(paramValue, Object.fromEntries(new URLSearchParams(renderedSearch))); return pageSegmentWithSearchParams; } else if (paramValue === null) { return ''; } else { return paramValue.join('/'); } } export function urlToUrlWithoutFlightMarker(url) { const urlWithoutFlightParameters = new URL(url); urlWithoutFlightParameters.searchParams.delete(NEXT_RSC_UNION_QUERY); if (process.env.NODE_ENV === 'production') { if (process.env.__NEXT_CONFIG_OUTPUT === 'export' && urlWithoutFlightParameters.pathname.endsWith('.txt')) { const { pathname } = urlWithoutFlightParameters; const length = pathname.endsWith('/index.txt') ? 10 : 4; // Slice off `/index.txt` or `.txt` from the end of the pathname urlWithoutFlightParameters.pathname = pathname.slice(0, -length); } } return urlWithoutFlightParameters; } export function getParamValueFromCacheKey(paramCacheKey, paramType) { // Turn the cache key string sent by the server (as part of FlightRouterState) // into a value that can be passed to `useParams` and client components. const isCatchAll = paramType === 'c' || paramType === 'oc'; if (isCatchAll) { // Catch-all param keys are a concatenation of the path segments. // See equivalent logic in `getSelectedParams`. // TODO: We should just pass the array directly, rather than concatenate // it to a string and then split it back to an array. It needs to be an // array in some places, like when passing a key React, but we can convert // it at runtime in those places. return paramCacheKey.split('/'); } return paramCacheKey; } //# sourceMappingURL=route-params.js.map