{"ast":null,"code":"\"use strict\";\n\nexports.__esModule = true;\nexports.parseRelativeUrl = parseRelativeUrl;\nvar DUMMY_BASE = new URL('http://n');\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.\n*/\n\nfunction parseRelativeUrl(url, base) {\n  var resolvedBase = base ? new URL(base, DUMMY_BASE) : DUMMY_BASE;\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 !== DUMMY_BASE.origin) {\n    throw new Error('invariant: invalid relative URL');\n  }\n\n  return {\n    pathname: pathname,\n    searchParams: searchParams,\n    search: search,\n    hash: hash,\n    href: href.slice(DUMMY_BASE.origin.length)\n  };\n}","map":{"version":3,"sources":["../../../../../next-server/lib/router/utils/parse-relative-url.ts"],"names":["DUMMY_BASE","resolvedBase","base","origin","pathname","searchParams","search","hash","href"],"mappings":";;;;AAAA,IAAMA,UAAU,GAAG,IAAA,GAAA,CAAnB,UAAmB,CAAnB;AAEA;;;;;;AAKO,SAAA,gBAAA,CAAA,GAAA,EAAA,IAAA,EAAsD;AAC3D,MAAMC,YAAY,GAAGC,IAAI,GAAG,IAAA,GAAA,CAAA,IAAA,EAAH,UAAG,CAAH,GAAzB,UAAA;;AAD2D,aAEI,IAAA,GAAA,CAAA,GAAA,EAA/D,YAA+D,CAFJ;AAAA,MAErD,QAFqD,QAErD,QAFqD;AAAA,MAErD,YAFqD,QAErD,YAFqD;AAAA,MAErD,MAFqD,QAErD,MAFqD;AAAA,MAErD,IAFqD,QAErD,IAFqD;AAAA,MAErD,IAFqD,QAErD,IAFqD;AAAA,MAErD,MAFqD,QAErD,MAFqD;;AAM3D,MAAIC,MAAM,KAAKH,UAAU,CAAzB,MAAA,EAAkC;AAChC,UAAM,IAAA,KAAA,CAAN,iCAAM,CAAN;AAEF;;AAAA,SAAO;AACLI,IAAAA,QADK,EACLA,QADK;AAELC,IAAAA,YAFK,EAELA,YAFK;AAGLC,IAAAA,MAHK,EAGLA,MAHK;AAILC,IAAAA,IAJK,EAILA,IAJK;AAKLC,IAAAA,IAAI,EAAEA,IAAI,CAAJA,KAAAA,CAAWR,UAAU,CAAVA,MAAAA,CALnB,MAKQQ;AALD,GAAP;AAOD","sourcesContent":["const DUMMY_BASE = new URL('http://n')\n\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.\n */\nexport function parseRelativeUrl(url: string, base?: string) {\n  const resolvedBase = base ? new URL(base, DUMMY_BASE) : DUMMY_BASE\n  const { pathname, searchParams, search, hash, href, origin } = new URL(\n    url,\n    resolvedBase\n  )\n  if (origin !== DUMMY_BASE.origin) {\n    throw new Error('invariant: invalid relative URL')\n  }\n  return {\n    pathname,\n    searchParams,\n    search,\n    hash,\n    href: href.slice(DUMMY_BASE.origin.length),\n  }\n}\n"]},"metadata":{},"sourceType":"script"}