{"version":3,"file":"escape.mjs","sources":["../../../../../../node_modules/markdown-it/lib/rules_inline/escape.mjs"],"sourcesContent":["// Process escaped chars and hardbreaks\n\nimport { isSpace } from '../common/utils.mjs'\n\nconst ESCAPED = []\n\nfor (let i = 0; i < 256; i++) { ESCAPED.push(0) }\n\n'\\\\!\"#$%&\\'()*+,./:;<=>?@[]^_`{|}~-'\n  .split('').forEach(function (ch) { ESCAPED[ch.charCodeAt(0)] = 1 })\n\nexport default function escape (state, silent) {\n  let pos = state.pos\n  const max = state.posMax\n\n  if (state.src.charCodeAt(pos) !== 0x5C/* \\ */) return false\n  pos++\n\n  // '\\' at the end of the inline block\n  if (pos >= max) return false\n\n  let ch1 = state.src.charCodeAt(pos)\n\n  if (ch1 === 0x0A) {\n    if (!silent) {\n      state.push('hardbreak', 'br', 0)\n    }\n\n    pos++\n    // skip leading whitespaces from next line\n    while (pos < max) {\n      ch1 = state.src.charCodeAt(pos)\n      if (!isSpace(ch1)) break\n      pos++\n    }\n\n    state.pos = pos\n    return true\n  }\n\n  let escapedStr = state.src[pos]\n\n  if (ch1 >= 0xD800 && ch1 <= 0xDBFF && pos + 1 < max) {\n    const ch2 = state.src.charCodeAt(pos + 1)\n\n    if (ch2 >= 0xDC00 && ch2 <= 0xDFFF) {\n      escapedStr += state.src[pos + 1]\n      pos++\n    }\n  }\n\n  const origStr = '\\\\' + escapedStr\n\n  if (!silent) {\n    const token = state.push('text_special', '', 0)\n\n    if (ch1 < 256 && ESCAPED[ch1] !== 0) {\n      token.content = escapedStr\n    } else {\n      token.content = origStr\n    }\n\n    token.markup = origStr\n    token.info   = 'escape'\n  }\n\n  state.pos = pos + 1\n  return true\n}\n"],"names":["ESCAPED","i","ch","escape","state","silent","pos","max","ch1","isSpace","escapedStr","ch2","origStr","token"],"mappings":";AAIA,MAAMA,IAAU,CAAA;AAEhB,SAASC,IAAI,GAAGA,IAAI,KAAKA;AAAO,EAAAD,EAAQ,KAAK,CAAC;AAE9C,qCACG,MAAM,EAAE,EAAE,QAAQ,SAAUE,GAAI;AAAE,EAAAF,EAAQE,EAAG,WAAW,CAAC,CAAC,IAAI;AAAE,CAAC;AAErD,SAASC,EAAQC,GAAOC,GAAQ;AAC7C,MAAIC,IAAMF,EAAM;AAChB,QAAMG,IAAMH,EAAM;AAMlB,MAJIA,EAAM,IAAI,WAAWE,CAAG,MAAM,OAClCA,KAGIA,KAAOC,GAAK,QAAO;AAEvB,MAAIC,IAAMJ,EAAM,IAAI,WAAWE,CAAG;AAElC,MAAIE,MAAQ,IAAM;AAOhB,SANKH,KACHD,EAAM,KAAK,aAAa,MAAM,CAAC,GAGjCE,KAEOA,IAAMC,MACXC,IAAMJ,EAAM,IAAI,WAAWE,CAAG,GAC1B,EAACG,EAAQD,CAAG;AAChB,MAAAF;AAGF,WAAAF,EAAM,MAAME,GACL;AAAA,EACT;AAEA,MAAII,IAAaN,EAAM,IAAIE,CAAG;AAE9B,MAAIE,KAAO,SAAUA,KAAO,SAAUF,IAAM,IAAIC,GAAK;AACnD,UAAMI,IAAMP,EAAM,IAAI,WAAWE,IAAM,CAAC;AAExC,IAAIK,KAAO,SAAUA,KAAO,UAC1BD,KAAcN,EAAM,IAAIE,IAAM,CAAC,GAC/BA;AAAA,EAEJ;AAEA,QAAMM,IAAU,OAAOF;AAEvB,MAAI,CAACL,GAAQ;AACX,UAAMQ,IAAQT,EAAM,KAAK,gBAAgB,IAAI,CAAC;AAE9C,IAAII,IAAM,OAAOR,EAAQQ,CAAG,MAAM,IAChCK,EAAM,UAAUH,IAEhBG,EAAM,UAAUD,GAGlBC,EAAM,SAASD,GACfC,EAAM,OAAS;AAAA,EACjB;AAEA,SAAAT,EAAM,MAAME,IAAM,GACX;AACT;","x_google_ignoreList":[0]}