{"version":3,"file":"extractPathFromURL.js","names":[],"sources":["esm/fork/extractPathFromURL.js"],"sourcesContent":["function extractExactPathFromURL(url) {\n  if (\n    // If a universal link / app link / web URL is used, we should use the path\n    // from the URL, while stripping the origin.\n    url.match(/^https?:\\/\\//)\n  ) {\n    const { origin, href } = new URL(url);\n    return href.replace(origin, \"\");\n  }\n  return fromDeepLink(url);\n}\nfunction fromDeepLink(url) {\n  let res;\n  try {\n    res = new URL(url);\n  } catch {\n    if (url.startsWith(\"/\")) {\n      return url;\n    }\n    return url.replace(/^[^:]+:\\/\\//, \"\");\n  }\n  let results = \"\";\n  if (res.host) {\n    results += res.host;\n  }\n  if (res.pathname) {\n    results += res.pathname;\n  }\n  const qs = !res.search ? \"\" : (\n    // @ts-ignore: `entries` is not on `URLSearchParams` in some typechecks.\n    [...res.searchParams.entries()].map(([k, v]) => `${k}=${decodeURIComponent(v)}`).join(\"&\")\n  );\n  if (qs) {\n    results += \"?\" + qs;\n  }\n  return results;\n}\nfunction extractPathFromURL(_prefixes, url = \"\") {\n  const pathFromPrefix = extractPathFromPrefix(_prefixes, url);\n  if (pathFromPrefix !== void 0) {\n    return pathFromPrefix.replace(/^\\//, \"\");\n  }\n  return extractExactPathFromURL(url).replace(/^\\//, \"\");\n}\nfunction extractPathFromPrefix(prefixes = [], url) {\n  const prefix = getMatchingPrefix(prefixes, url);\n  if (!prefix) return void 0;\n  return url.slice(prefix.length);\n}\nconst PREFIX_BOUNDARY_CHARS = [\"/\", \"?\", \"#\"];\nfunction getMatchingPrefix(prefixes, url) {\n  return prefixes.filter((prefix) => matchesPrefix(prefix, url)).sort((a, b) => b.length - a.length)[0];\n}\nfunction matchesPrefix(prefix, url) {\n  if (!url.startsWith(prefix)) return false;\n  if (url.length === prefix.length) return true;\n  if (prefix.endsWith(\"/\")) return true;\n  return PREFIX_BOUNDARY_CHARS.includes(url[prefix.length]);\n}\nexport {\n  extractPathFromURL\n};\n//# sourceMappingURL=extractPathFromURL.js.map\n"],"mappings":";AAAA,SAAS,wBAAwB,KAAK;CACpC,IAGE,IAAI,MAAM,cAAc,GACxB;EACA,MAAM,EAAE,QAAQ,SAAS,IAAI,IAAI,GAAG;EACpC,OAAO,KAAK,QAAQ,QAAQ,EAAE;CAChC;CACA,OAAO,aAAa,GAAG;AACzB;AACA,SAAS,aAAa,KAAK;CACzB,IAAI;CACJ,IAAI;EACF,MAAM,IAAI,IAAI,GAAG;CACnB,QAAQ;EACN,IAAI,IAAI,WAAW,GAAG,GAAG;GACvB,OAAO;EACT;EACA,OAAO,IAAI,QAAQ,eAAe,EAAE;CACtC;CACA,IAAI,UAAU;CACd,IAAI,IAAI,MAAM;EACZ,WAAW,IAAI;CACjB;CACA,IAAI,IAAI,UAAU;EAChB,WAAW,IAAI;CACjB;CACA,MAAM,KAAK,CAAC,IAAI,SAAS,KAEvB,CAAC,GAAG,IAAI,aAAa,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,OAAO,GAAG,EAAE,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG;CAE3F,IAAI,IAAI;EACN,WAAW,MAAM;CACnB;CACA,OAAO;AACT;AACA,SAAS,mBAAmB,WAAW,MAAM,IAAI;CAC/C,MAAM,iBAAiB,sBAAsB,WAAW,GAAG;CAC3D,IAAI,mBAAmB,KAAK,GAAG;EAC7B,OAAO,eAAe,QAAQ,OAAO,EAAE;CACzC;CACA,OAAO,wBAAwB,GAAG,CAAC,CAAC,QAAQ,OAAO,EAAE;AACvD;AACA,SAAS,sBAAsB,WAAW,CAAC,GAAG,KAAK;CACjD,MAAM,SAAS,kBAAkB,UAAU,GAAG;CAC9C,IAAI,CAAC,QAAQ,OAAO,KAAK;CACzB,OAAO,IAAI,MAAM,OAAO,MAAM;AAChC;AACA,MAAM,wBAAwB;CAAC;CAAK;CAAK;AAAG;AAC5C,SAAS,kBAAkB,UAAU,KAAK;CACxC,OAAO,SAAS,QAAQ,WAAW,cAAc,QAAQ,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AACrG;AACA,SAAS,cAAc,QAAQ,KAAK;CAClC,IAAI,CAAC,IAAI,WAAW,MAAM,GAAG,OAAO;CACpC,IAAI,IAAI,WAAW,OAAO,QAAQ,OAAO;CACzC,IAAI,OAAO,SAAS,GAAG,GAAG,OAAO;CACjC,OAAO,sBAAsB,SAAS,IAAI,OAAO,OAAO;AAC1D"}