{"version":3,"file":"autolink.mjs","sources":["../../../../../../node_modules/markdown-it/lib/rules_inline/autolink.mjs"],"sourcesContent":["// Process autolinks '<protocol:...>'\n\n/* eslint max-len:0 */\nconst EMAIL_RE    = /^([a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)$/\n/* eslint-disable-next-line no-control-regex */\nconst AUTOLINK_RE = /^([a-zA-Z][a-zA-Z0-9+.-]{1,31}):([^<>\\x00-\\x20]*)$/\n\nexport default function autolink (state, silent) {\n  let pos = state.pos\n\n  if (state.src.charCodeAt(pos) !== 0x3C/* < */) { return false }\n\n  const start = state.pos\n  const max = state.posMax\n\n  for (;;) {\n    if (++pos >= max) return false\n\n    const ch = state.src.charCodeAt(pos)\n\n    if (ch === 0x3C /* < */) return false\n    if (ch === 0x3E /* > */) break\n  }\n\n  const url = state.src.slice(start + 1, pos)\n\n  if (AUTOLINK_RE.test(url)) {\n    const fullUrl = state.md.normalizeLink(url)\n    if (!state.md.validateLink(fullUrl)) { return false }\n\n    if (!silent) {\n      const token_o   = state.push('link_open', 'a', 1)\n      token_o.attrs   = [['href', fullUrl]]\n      token_o.markup  = 'autolink'\n      token_o.info    = 'auto'\n\n      const token_t   = state.push('text', '', 0)\n      token_t.content = state.md.normalizeLinkText(url)\n\n      const token_c   = state.push('link_close', 'a', -1)\n      token_c.markup  = 'autolink'\n      token_c.info    = 'auto'\n    }\n\n    state.pos += url.length + 2\n    return true\n  }\n\n  if (EMAIL_RE.test(url)) {\n    const fullUrl = state.md.normalizeLink('mailto:' + url)\n    if (!state.md.validateLink(fullUrl)) { return false }\n\n    if (!silent) {\n      const token_o   = state.push('link_open', 'a', 1)\n      token_o.attrs   = [['href', fullUrl]]\n      token_o.markup  = 'autolink'\n      token_o.info    = 'auto'\n\n      const token_t   = state.push('text', '', 0)\n      token_t.content = state.md.normalizeLinkText(url)\n\n      const token_c   = state.push('link_close', 'a', -1)\n      token_c.markup  = 'autolink'\n      token_c.info    = 'auto'\n    }\n\n    state.pos += url.length + 2\n    return true\n  }\n\n  return false\n}\n"],"names":["EMAIL_RE","AUTOLINK_RE","autolink","state","silent","pos","start","max","ch","url","fullUrl","token_o","token_t","token_c"],"mappings":"AAGA,MAAMA,IAAc,0IAEdC,IAAc;AAEL,SAASC,EAAUC,GAAOC,GAAQ;AAC/C,MAAIC,IAAMF,EAAM;AAEhB,MAAIA,EAAM,IAAI,WAAWE,CAAG,MAAM;AAAe,WAAO;AAExD,QAAMC,IAAQH,EAAM,KACdI,IAAMJ,EAAM;AAElB,aAAS;AACP,QAAI,EAAEE,KAAOE,EAAK,QAAO;AAEzB,UAAMC,IAAKL,EAAM,IAAI,WAAWE,CAAG;AAEnC,QAAIG,MAAO,GAAc,QAAO;AAChC,QAAIA,MAAO,GAAc;AAAA,EAC3B;AAEA,QAAMC,IAAMN,EAAM,IAAI,MAAMG,IAAQ,GAAGD,CAAG;AAE1C,MAAIJ,EAAY,KAAKQ,CAAG,GAAG;AACzB,UAAMC,IAAUP,EAAM,GAAG,cAAcM,CAAG;AAC1C,QAAI,CAACN,EAAM,GAAG,aAAaO,CAAO;AAAK,aAAO;AAE9C,QAAI,CAACN,GAAQ;AACX,YAAMO,IAAYR,EAAM,KAAK,aAAa,KAAK,CAAC;AAChD,MAAAQ,EAAQ,QAAU,CAAC,CAAC,QAAQD,CAAO,CAAC,GACpCC,EAAQ,SAAU,YAClBA,EAAQ,OAAU;AAElB,YAAMC,IAAYT,EAAM,KAAK,QAAQ,IAAI,CAAC;AAC1C,MAAAS,EAAQ,UAAUT,EAAM,GAAG,kBAAkBM,CAAG;AAEhD,YAAMI,IAAYV,EAAM,KAAK,cAAc,KAAK,EAAE;AAClD,MAAAU,EAAQ,SAAU,YAClBA,EAAQ,OAAU;AAAA,IACpB;AAEA,WAAAV,EAAM,OAAOM,EAAI,SAAS,GACnB;AAAA,EACT;AAEA,MAAIT,EAAS,KAAKS,CAAG,GAAG;AACtB,UAAMC,IAAUP,EAAM,GAAG,cAAc,YAAYM,CAAG;AACtD,QAAI,CAACN,EAAM,GAAG,aAAaO,CAAO;AAAK,aAAO;AAE9C,QAAI,CAACN,GAAQ;AACX,YAAMO,IAAYR,EAAM,KAAK,aAAa,KAAK,CAAC;AAChD,MAAAQ,EAAQ,QAAU,CAAC,CAAC,QAAQD,CAAO,CAAC,GACpCC,EAAQ,SAAU,YAClBA,EAAQ,OAAU;AAElB,YAAMC,IAAYT,EAAM,KAAK,QAAQ,IAAI,CAAC;AAC1C,MAAAS,EAAQ,UAAUT,EAAM,GAAG,kBAAkBM,CAAG;AAEhD,YAAMI,IAAYV,EAAM,KAAK,cAAc,KAAK,EAAE;AAClD,MAAAU,EAAQ,SAAU,YAClBA,EAAQ,OAAU;AAAA,IACpB;AAEA,WAAAV,EAAM,OAAOM,EAAI,SAAS,GACnB;AAAA,EACT;AAEA,SAAO;AACT;","x_google_ignoreList":[0]}