/opt/canhelp/node_modules/next/dist/server/lib
NameSizeModeActions
cache-handlers/-0755rm
experimental/-0755rm
incremental-cache/-0755rm
module-loader/-0755rm
router-utils/-0755rm
server-ipc/-0755rm
trace/-0755rm
app-dir-module.d.ts6230644editdlrm
app-dir-module.js16750644editdlrm
app-dir-module.js.map26320644editdlrm
app-info-log.d.ts6170644editdlrm
app-info-log.js48460644editdlrm
app-info-log.js.map58670644editdlrm
async-callback-set.d.ts1400644editdlrm
async-callback-set.js7330644editdlrm
async-callback-set.js.map11130644editdlrm
cache-control.d.ts5720644editdlrm
cache-control.js8150644editdlrm
cache-control.js.map16230644editdlrm
chrome-devtools-workspace.d.ts4180644editdlrm
chrome-devtools-workspace.js43680644editdlrm
chrome-devtools-workspace.js.map41900644editdlrm
clone-response.d.ts5310644editdlrm
clone-response.js26410644editdlrm
clone-response.js.map44410644editdlrm
cpu-profile.d.ts1120644editdlrm
cpu-profile.js10340644editdlrm
cpu-profile.js.map20620644editdlrm
decode-query-path-parameter.d.ts1890644editdlrm
decode-query-path-parameter.js6880644editdlrm
decode-query-path-parameter.js.map7550644editdlrm
dedupe-fetch.d.ts1470644editdlrm
dedupe-fetch.js67850644editdlrm
dedupe-fetch.js.map73960644editdlrm
dev-bundler-service.d.ts11830644editdlrm
dev-bundler-service.js32380644editdlrm
dev-bundler-service.js.map57920644editdlrm
disk-lru-cache.external.d.ts8080644editdlrm
disk-lru-cache.external.js19150644editdlrm
disk-lru-cache.external.js.map31460644editdlrm
etag.d.ts4530644editdlrm
etag.js15850644editdlrm
etag.js.map21980644editdlrm
find-page-file.d.ts13950644editdlrm
find-page-file.js54210644editdlrm
find-page-file.js.map94400644editdlrm
fix-mojibake.d.ts600644editdlrm
fix-mojibake.js7270644editdlrm
fix-mojibake.js.map10410644editdlrm
format-hostname.d.ts2150644editdlrm
format-hostname.js4080644editdlrm
format-hostname.js.map6100644editdlrm
i18n-provider.d.ts23910644editdlrm
i18n-provider.js55930644editdlrm
i18n-provider.js.map90460644editdlrm
implicit-tags.d.ts9860644editdlrm
implicit-tags.js26850644editdlrm
implicit-tags.js.map52120644editdlrm
is-ipv6.d.ts520644editdlrm
is-ipv6.js22840644editdlrm
is-ipv6.js.map34070644editdlrm
lazy-result.d.ts5650644editdlrm
lazy-result.js12460644editdlrm
lazy-result.js.map19070644editdlrm
lru-cache.d.ts36610644editdlrm
lru-cache.js66430644editdlrm
lru-cache.js.map113580644editdlrm
match-next-data-pathname.d.ts1130644editdlrm
match-next-data-pathname.js5510644editdlrm
match-next-data-pathname.js.map6360644editdlrm
mock-request.d.ts41250644editdlrm
mock-request.js144950644editdlrm
mock-request.js.map212690644editdlrm
node-fs-methods.d.ts930644editdlrm
node-fs-methods.js7720644editdlrm
node-fs-methods.js.map9760644editdlrm
parse-stack.d.ts2930644editdlrm
parse-stack.js17990644editdlrm
parse-stack.js.map29910644editdlrm
patch-fetch.d.ts9580644editdlrm
patch-fetch.js459600644editdlrm
patch-fetch.js.map647100644editdlrm
patch-set-header.d.ts4640644editdlrm
patch-set-header.js14520644editdlrm
patch-set-header.js.map24630644editdlrm
render-server.d.ts38030644editdlrm
render-server.js39380644editdlrm
render-server.js.map63770644editdlrm
router-server.d.ts8160644editdlrm
router-server.js330710644editdlrm
router-server.js.map464730644editdlrm
server-action-request-meta.d.ts5370644editdlrm
server-action-request-meta.js21160644editdlrm
server-action-request-meta.js.map30700644editdlrm
source-maps.d.ts19760644editdlrm
source-maps.js90100644editdlrm
source-maps.js.map149080644editdlrm
start-server.d.ts10600644editdlrm
start-server.js195790644editdlrm
start-server.js.map276000644editdlrm
streaming-metadata.d.ts2740644editdlrm
streaming-metadata.js11370644editdlrm
streaming-metadata.js.map15880644editdlrm
to-route.d.ts5060644editdlrm
to-route.js7780644editdlrm
to-route.js.map8630644editdlrm
types.d.ts2910644editdlrm
types.js1150644editdlrm
types.js.map670644editdlrm
utils.d.ts29660644editdlrm
utils.js83120644editdlrm
utils.js.map136580644editdlrm
worker-utils.d.ts570644editdlrm
worker-utils.js11280644editdlrm
worker-utils.js.map11250644editdlrm
Edit: /opt/canhelp/node_modules/next/dist/server/lib/i18n-provider.js (5593B)
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "I18NProvider", { enumerable: true, get: function() { return I18NProvider; } }); const _requestmeta = require("../request-meta"); class I18NProvider { constructor(config){ var _config_domains; this.config = config; if (!config.locales.length) { throw Object.defineProperty(new Error('Invariant: No locales provided'), "__NEXT_ERROR_CODE", { value: "E510", enumerable: false, configurable: true }); } this.lowerCaseLocales = config.locales.map((locale)=>locale.toLowerCase()); this.lowerCaseDomains = (_config_domains = config.domains) == null ? void 0 : _config_domains.map((domainLocale)=>{ var _domainLocale_locales; const domain = domainLocale.domain.toLowerCase(); return { defaultLocale: domainLocale.defaultLocale.toLowerCase(), hostname: domain.split(':', 1)[0], domain, locales: (_domainLocale_locales = domainLocale.locales) == null ? void 0 : _domainLocale_locales.map((locale)=>locale.toLowerCase()), http: domainLocale.http }; }); } /** * Detects the domain locale from the hostname and the detected locale if * provided. * * @param hostname The hostname to detect the domain locale from, this must be lowercased. * @param detectedLocale The detected locale to use if the hostname does not match. * @returns The domain locale if found, `undefined` otherwise. */ detectDomainLocale(hostname, detectedLocale) { if (!hostname || !this.lowerCaseDomains || !this.config.domains) return; if (detectedLocale) detectedLocale = detectedLocale.toLowerCase(); for(let i = 0; i < this.lowerCaseDomains.length; i++){ var // Configuration validation ensures that the locale is not repeated in // other domains locales. _domainLocale_locales; const domainLocale = this.lowerCaseDomains[i]; if (// We assume that the hostname is already lowercased. domainLocale.hostname === hostname || ((_domainLocale_locales = domainLocale.locales) == null ? void 0 : _domainLocale_locales.some((locale)=>locale === detectedLocale))) { return this.config.domains[i]; } } return; } /** * Pulls the pre-computed locale and inference results from the query * object. * * @param req the request object * @param pathname the pathname that could contain a locale prefix * @returns the locale analysis result */ fromRequest(req, pathname) { const detectedLocale = (0, _requestmeta.getRequestMeta)(req, 'locale'); // If a locale was detected on the query, analyze the pathname to ensure // that the locale matches. if (detectedLocale) { const analysis = this.analyze(pathname); // If the analysis contained a locale we should validate it against the // query and strip it from the pathname. if (analysis.detectedLocale) { if (analysis.detectedLocale !== detectedLocale) { console.warn(`The detected locale does not match the locale in the query. Expected to find '${detectedLocale}' in '${pathname}' but found '${analysis.detectedLocale}'}`); } pathname = analysis.pathname; } } return { pathname, detectedLocale, inferredFromDefault: (0, _requestmeta.getRequestMeta)(req, 'localeInferredFromDefault') ?? false }; } /** * Analyzes the pathname for a locale and returns the pathname without it. * * @param pathname The pathname that could contain a locale prefix. * @param options The options to use when matching the locale. * @returns The matched locale and the pathname without the locale prefix * (if any). */ analyze(pathname, options = {}) { let detectedLocale = options.defaultLocale; // By default, we assume that the default locale was inferred if there was // no detected locale. let inferredFromDefault = typeof detectedLocale === 'string'; // The first segment will be empty, because it has a leading `/`. If // there is no further segment, there is no locale (or it's the default). const segments = pathname.split('/', 2); if (!segments[1]) return { detectedLocale, pathname, inferredFromDefault }; // The second segment will contain the locale part if any. const segment = segments[1].toLowerCase(); // See if the segment matches one of the locales. If it doesn't, there is // no locale (or it's the default). const index = this.lowerCaseLocales.indexOf(segment); if (index < 0) return { detectedLocale, pathname, inferredFromDefault }; // Return the case-sensitive locale. detectedLocale = this.config.locales[index]; inferredFromDefault = false; // Remove the `/${locale}` part of the pathname. pathname = pathname.slice(detectedLocale.length + 1) || '/'; return { detectedLocale, pathname, inferredFromDefault }; } } //# sourceMappingURL=i18n-provider.js.map