Spaces:
Running
Running
| ; | |
| Object.defineProperty(exports, "__esModule", { | |
| value: true | |
| }); | |
| Object.defineProperty(exports, "parseRelativeUrl", { | |
| enumerable: true, | |
| get: function() { | |
| return parseRelativeUrl; | |
| } | |
| }); | |
| const _utils = require("../../utils"); | |
| const _querystring = require("./querystring"); | |
| function parseRelativeUrl(url, base, parseQuery = true) { | |
| const globalBase = new URL(typeof window === 'undefined' ? 'http://n' : (0, _utils.getLocationOrigin)()); | |
| const resolvedBase = base ? new URL(base, globalBase) : url.startsWith('.') ? new URL(typeof window === 'undefined' ? 'http://n' : window.location.href) : globalBase; | |
| const { pathname, searchParams, search, hash, href, origin } = new URL(url, resolvedBase); | |
| if (origin !== globalBase.origin) { | |
| throw Object.defineProperty(new Error(`invariant: invalid relative URL, router received ${url}`), "__NEXT_ERROR_CODE", { | |
| value: "E159", | |
| enumerable: false, | |
| configurable: true | |
| }); | |
| } | |
| return { | |
| pathname, | |
| query: parseQuery ? (0, _querystring.searchParamsToUrlQuery)(searchParams) : undefined, | |
| search, | |
| hash, | |
| href: href.slice(origin.length), | |
| // We don't know for relative URLs at this point since we set a custom, internal | |
| // base that isn't surfaced to users. | |
| slashes: undefined | |
| }; | |
| } | |
| //# sourceMappingURL=parse-relative-url.js.map |