Spaces:
Sleeping
Sleeping
| ; | |
| Object.defineProperty(exports, "__esModule", { | |
| value: true | |
| }); | |
| Object.defineProperty(exports, "getNextPathnameInfo", { | |
| enumerable: true, | |
| get: function() { | |
| return getNextPathnameInfo; | |
| } | |
| }); | |
| const _normalizelocalepath = require("../../i18n/normalize-locale-path"); | |
| const _removepathprefix = require("./remove-path-prefix"); | |
| const _pathhasprefix = require("./path-has-prefix"); | |
| function getNextPathnameInfo(pathname, options) { | |
| const { basePath, i18n, trailingSlash } = options.nextConfig ?? {}; | |
| const info = { | |
| pathname, | |
| trailingSlash: pathname !== '/' ? pathname.endsWith('/') : trailingSlash | |
| }; | |
| if (basePath && (0, _pathhasprefix.pathHasPrefix)(info.pathname, basePath)) { | |
| info.pathname = (0, _removepathprefix.removePathPrefix)(info.pathname, basePath); | |
| info.basePath = basePath; | |
| } | |
| let pathnameNoDataPrefix = info.pathname; | |
| if (info.pathname.startsWith('/_next/data/') && info.pathname.endsWith('.json')) { | |
| const paths = info.pathname.replace(/^\/_next\/data\//, '').replace(/\.json$/, '').split('/'); | |
| const buildId = paths[0]; | |
| info.buildId = buildId; | |
| pathnameNoDataPrefix = paths[1] !== 'index' ? `/${paths.slice(1).join('/')}` : '/'; | |
| // update pathname with normalized if enabled although | |
| // we use normalized to populate locale info still | |
| if (options.parseData === true) { | |
| info.pathname = pathnameNoDataPrefix; | |
| } | |
| } | |
| // If provided, use the locale route normalizer to detect the locale instead | |
| // of the function below. | |
| if (i18n) { | |
| let result = options.i18nProvider ? options.i18nProvider.analyze(info.pathname) : (0, _normalizelocalepath.normalizeLocalePath)(info.pathname, i18n.locales); | |
| info.locale = result.detectedLocale; | |
| info.pathname = result.pathname ?? info.pathname; | |
| if (!result.detectedLocale && info.buildId) { | |
| result = options.i18nProvider ? options.i18nProvider.analyze(pathnameNoDataPrefix) : (0, _normalizelocalepath.normalizeLocalePath)(pathnameNoDataPrefix, i18n.locales); | |
| if (result.detectedLocale) { | |
| info.locale = result.detectedLocale; | |
| } | |
| } | |
| } | |
| return info; | |
| } | |
| //# sourceMappingURL=get-next-pathname-info.js.map |