UNPKG

tethysfaceid

Version:

1 lines 1.26 kB
{"ast":null,"code":"\"use strict\";\n\nexports.__esModule = true;\nexports.parseRelativeUrl = parseRelativeUrl;\n\nvar _utils = require(\"../../utils\");\n\nvar _querystring = require(\"./querystring\");\n/**\n* Parses path-relative urls (e.g. `/hello/world?foo=bar`). If url isn't path-relative\n* (e.g. `./hello`) then at least base must be.\n* Absolute urls are rejected with one exception, in the browser, absolute urls that are on\n* the current origin will be parsed as relative\n*/\n\n\nfunction parseRelativeUrl(url, base) {\n var globalBase = new URL(false ? 'http://n' : (0, _utils.getLocationOrigin)());\n var resolvedBase = base ? new URL(base, globalBase) : globalBase;\n\n var _URL = new URL(url, resolvedBase),\n pathname = _URL.pathname,\n searchParams = _URL.searchParams,\n search = _URL.search,\n hash = _URL.hash,\n href = _URL.href,\n origin = _URL.origin;\n\n if (origin !== globalBase.origin) {\n throw new Error('invariant: invalid relative URL');\n }\n\n return {\n pathname: pathname,\n query: (0, _querystring.searchParamsToUrlQuery)(searchParams),\n search: search,\n hash: hash,\n href: href.slice(globalBase.origin.length)\n };\n}","map":null,"metadata":{},"sourceType":"script"}