UNPKG

vike

Version:

The Framework *You* Control - Next.js & Nuxt alternative for unprecedented flexibility and dependability.

29 lines (28 loc) 996 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.modifyUrl = modifyUrl; const modifyUrlSameOrigin_js_1 = require("./modifyUrlSameOrigin.js"); const utils_js_1 = require("./utils.js"); /** * Modify a URL. * * Example: changing the URL pathname for internationalization. * * https://vike.dev/modifyUrl */ function modifyUrl(url, modify) { url = (0, modifyUrlSameOrigin_js_1.modifyUrlSameOrigin)(url, modify); const urlParsed = (0, utils_js_1.parseUrl)(url, '/'); // Origin const originParts = [ modify.protocol ?? urlParsed.protocol ?? '', modify.hostname ?? urlParsed.hostname ?? '', ]; const port = modify.port ?? urlParsed.port; if (port || port === 0) { originParts.push(`:${port}`); } const origin = originParts.join(''); const urlModified = (0, utils_js_1.createUrlFromComponents)(origin, urlParsed.pathname, urlParsed.searchOriginal, urlParsed.hashOriginal); return urlModified; }