/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/resolve-href.js (4816B)
import { searchParamsToUrlQuery } from '../shared/lib/router/utils/querystring'; import { formatWithValidation } from '../shared/lib/router/utils/format-url'; import { omit } from '../shared/lib/router/utils/omit'; import { normalizeRepeatedSlashes } from '../shared/lib/utils'; import { normalizePathTrailingSlash } from './normalize-trailing-slash'; import { isLocalURL } from '../shared/lib/router/utils/is-local-url'; import { isDynamicRoute } from '../shared/lib/router/utils'; import { interpolateAs } from '../shared/lib/router/utils/interpolate-as'; import { getRouteRegex } from '../shared/lib/router/utils/route-regex'; import { getRouteMatcher } from '../shared/lib/router/utils/route-matcher'; export function resolveHref(router, href, resolveAs) { // we use a dummy base url for relative urls let base; let urlAsString = typeof href === 'string' ? href : formatWithValidation(href); // repeated slashes and backslashes in the URL are considered // invalid and will never match a Next.js page/file // https://www.rfc-editor.org/rfc/rfc3986.html#section-3.1 const urlProtoMatch = urlAsString.match(/^[a-z][a-z0-9+.-]*:\/\//i); const urlAsStringNoProto = urlProtoMatch ? urlAsString.slice(urlProtoMatch[0].length) : urlAsString; const urlParts = urlAsStringNoProto.split('?', 1); if ((urlParts[0] || '').match(/(\/\/|\\)/)) { console.error("Invalid href '" + urlAsString + "' passed to next/router in page: '" + router.pathname + "'. Repeated forward-slashes (//) or backslashes \\ are not valid in the href."); const normalizedUrl = normalizeRepeatedSlashes(urlAsStringNoProto); urlAsString = (urlProtoMatch ? urlProtoMatch[0] : '') + normalizedUrl; } // Return because it cannot be routed by the Next.js router if (!isLocalURL(urlAsString)) { return resolveAs ? [ urlAsString ] : urlAsString; } try { let baseBase = urlAsString.startsWith('#') ? router.asPath : router.pathname; // If the provided href is only a query string, it is safer to use the asPath // considering rewrites. if (urlAsString.startsWith('?')) { baseBase = router.asPath; // However, if is a dynamic route, we need to use the pathname to preserve the // query interpolation and rewrites (router.pathname will look like "/[slug]"). if (isDynamicRoute(router.pathname)) { baseBase = router.pathname; const routeRegex = getRouteRegex(router.pathname); const match = getRouteMatcher(routeRegex)(router.asPath); // For dynamic routes, if asPath doesn't match the pathname regex, it is a rewritten path. // In this case, should use asPath to preserve the current URL. if (!match) { baseBase = router.asPath; } // Note: There is an edge case where the pathname is dynamic, and also a rewrite path to the same segment. // E.g. in "/[slug]" path, rewrite "/foo" -> "/bar" // In this case, it will be treated as a non-rewritten path and possibly interpolate the query string. // E.g., "/any?slug=foo" will become the content of "/foo", not rewritten as "/bar" // This is currently a trade-off of not resolving rewrite paths on every Router/Link call, // but using a lighter route regex pattern check. } } base = new URL(baseBase, 'http://n'); } catch (_) { // fallback to / for invalid asPath values e.g. // base = new URL('/', 'http://n'); } try { const finalUrl = new URL(urlAsString, base); finalUrl.pathname = normalizePathTrailingSlash(finalUrl.pathname); let interpolatedAs = ''; if (isDynamicRoute(finalUrl.pathname) && finalUrl.searchParams && resolveAs) { const query = searchParamsToUrlQuery(finalUrl.searchParams); const { result, params } = interpolateAs(finalUrl.pathname, finalUrl.pathname, query); if (result) { interpolatedAs = formatWithValidation({ pathname: result, hash: finalUrl.hash, query: omit(query, params) }); } } // if the origin didn't change, it means we received a relative href const resolvedHref = finalUrl.origin === base.origin ? finalUrl.href.slice(finalUrl.origin.length) : finalUrl.href; return resolveAs ? [ resolvedHref, interpolatedAs || resolvedHref ] : resolvedHref; } catch (_) { return resolveAs ? [ urlAsString ] : urlAsString; } } //# sourceMappingURL=resolve-href.js.map