{"version":3,"sources":["marked-base-url.ts"],"sourcesContent":["export function toBaseURL(url: string, base: string | URL) {\n\tconst reIsAbsolute = /^[\\w+]+:\\/\\//;\n\tconst isBaseAbsolute = reIsAbsolute.test(base.toString());\n\tconst dummyUrl = 'http://__dummy__';\n\tconst dummyBaseUrl = new URL(base, dummyUrl);\n\tconst dummyUrlLength = dummyUrl.length + (base.toString().startsWith('/') ? 0 : 1);\n\tif (reIsAbsolute.test(url)) {\n\t\t// the URL is absolute, do not touch it\n\t\treturn url;\n\t  }\n\n\t  if (url.startsWith('#')) {\n\t\t// the URL is a local reference\n\t\treturn url;\n\t  }\n\n\t  if (isBaseAbsolute) {\n\t\ttry {\n\t\t  return new URL(url, base).href;\n\t\t} catch (e) {\n\t\t  // ignore\n\t\t}\n\t  } else {\n\t\t// base is not absolute\n\t\tif (url.startsWith('/')) {\n\t\t  // the URL is from root\n\t\t  return url;\n\t\t}\n\t\ttry {\n\t\t  const temp = new URL(url, dummyBaseUrl).href;\n\t\t  return temp.slice(dummyUrlLength);\n\t\t} catch (e) {\n\t\t  // ignore\n\t\t}\n\t}\n\treturn url;\n}\n\nexport function baseUrl(base) {\n\t// extension code here\n  \n\tbase = base.trim().replace(/\\/+$/, '/'); // if multiple '/' at the end, just keep one\n\tconst reIsAbsolute = /^[\\w+]+:\\/\\//;\n\tconst isBaseAbsolute = reIsAbsolute.test(base);\n\tconst dummyUrl = 'http://__dummy__';\n\tconst dummyBaseUrl = new URL(base, dummyUrl);\n\tconst dummyUrlLength = dummyUrl.length + (base.startsWith('/') ? 0 : 1);\n  \n\treturn {\n\t  walkTokens(token) {\n\t\tif (!['link', 'image', \"img\"].includes(token.type)) {\n\t\t  return;\n\t\t}\n  \n\t\tif (reIsAbsolute.test(token.href)) {\n\t\t  // the URL is absolute, do not touch it\n\t\t  return;\n\t\t}\n  \n\t\tif (token.href.startsWith('#')) {\n\t\t  // the URL is a local reference\n\t\t  return;\n\t\t}\n  \n\t\tif (isBaseAbsolute) {\n\t\t  try {\n\t\t\ttoken.href = new URL(token.href, base).href;\n\t\t  } catch (e) {\n\t\t\t// ignore\n\t\t  }\n\t\t} else {\n\t\t  // base is not absolute\n\t\t  if (token.href.startsWith('/')) {\n\t\t\t// the URL is from root\n\t\t\treturn;\n\t\t  }\n\t\t  try {\n\t\t\tconst temp = new URL(token.href, dummyBaseUrl).href;\n\t\t\ttoken.href = temp.slice(dummyUrlLength);\n\t\t  } catch (e) {\n\t\t\t// ignore\n\t\t  }\n\t\t}\n\t  }\n\t};\n  }"],"names":["toBaseURL","url","base","reIsAbsolute","isBaseAbsolute","test","toString","dummyUrl","dummyBaseUrl","URL","dummyUrlLength","length","startsWith","href","e","temp","slice","baseUrl","trim","replace","walkTokens","token","includes","type"],"mappings":"AAAA,OAAO,SAASA,UAAUC,GAAW,EAAEC,IAAkB;IACxD,IAAMC,eAAe,gBACfC,iBAAiBD,aAAaE,IAAI,CAACH,KAAKI,QAAQ,KAChDC,WAAW,oBACXC,eAAe,IAAIC,IAAIP,MAAMK,WAC7BG,iBAAiBH,SAASI,MAAM,GAAIT,CAAAA,KAAKI,QAAQ,GAAGM,UAAU,CAAC,OAAO,IAAI,CAAA;IAChF,IAAIT,aAAaE,IAAI,CAACJ,QAKhBA,IAAIW,UAAU,CAAC,MAHpB,OAAOX;IAQN,IAAIG,gBACL,IAAI;QACF,OAAO,IAAIK,IAAIR,KAAKC,MAAMW,IAAI;IAChC,EAAE,OAAOC,GAAG,CAEZ;SACQ;QAER,IAAIb,IAAIW,UAAU,CAAC,MAEjB,OAAOX;QAET,IAAI;YAEF,OAAOc,AADM,IAAIN,IAAIR,KAAKO,cAAcK,IAAI,CAChCG,KAAK,CAACN;QACpB,EAAE,OAAOI,GAAG,CAEZ;IACD;IACA,OAAOb;AACR;AAEA,OAAO,SAASgB,QAAQf,IAAI;IAG3BA,OAAOA,KAAKgB,IAAI,GAAGC,OAAO,CAAC,QAAQ;IACnC,IAAMhB,eAAe,gBACfC,iBAAiBD,aAAaE,IAAI,CAACH,OACnCK,WAAW,oBACXC,eAAe,IAAIC,IAAIP,MAAMK,WAC7BG,iBAAiBH,SAASI,MAAM,GAAIT,CAAAA,KAAKU,UAAU,CAAC,OAAO,IAAI,CAAA;IAErE,OAAO;QACLQ,YAAWC,KAAK;YACjB,MAAI,CAAC;gBAAC;gBAAQ;gBAAS;aAAM,CAACC,QAAQ,CAACD,MAAME,IAAI,KAI7CpB,aAAaE,IAAI,CAACgB,MAAMR,IAAI,KAK5BQ,MAAMR,IAAI,CAACD,UAAU,CAAC;gBAK1B,IAAIR,gBACF,IAAI;oBACLiB,MAAMR,IAAI,GAAG,IAAIJ,IAAIY,MAAMR,IAAI,EAAEX,MAAMW,IAAI;gBAC1C,EAAE,OAAOC,GAAG,CAEZ;qBACK;oBAEL,IAAIO,MAAMR,IAAI,CAACD,UAAU,CAAC,MAE3B;oBAEC,IAAI;wBACL,IAAMG,OAAO,IAAIN,IAAIY,MAAMR,IAAI,EAAEL,cAAcK,IAAI;wBACnDQ,MAAMR,IAAI,GAAGE,KAAKC,KAAK,CAACN;oBACvB,EAAE,OAAOI,GAAG,CAEZ;gBACF;;QACC;IACF;AACC","sourceRoot":"/lib/uix-components-new-0.1.15/lib/","file":"marked-base-url.ts"}