"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.parseRelativeUrl = parseRelativeUrl; var _utils = require("../../utils"); var _querystring = require("./querystring"); function parseRelativeUrl(url, base) { 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 new Error(`invariant: invalid relative URL, router received ${url}`); } return { pathname, query: (0, _querystring).searchParamsToUrlQuery(searchParams), search, hash, href: href.slice(globalBase.origin.length) }; } //# sourceMappingURL=parse-relative-url.js.map