{"version":3,"file":"parse_link_label.mjs","sources":["../../../../../../node_modules/markdown-it/lib/helpers/parse_link_label.mjs"],"sourcesContent":["// Parse link label\n//\n// this function assumes that first character (\"[\") already matches;\n// returns the end of the label\n//\n\nexport default function parseLinkLabel (state, start, disableNested) {\n  let level, found, marker, prevPos\n\n  const max = state.posMax\n  const oldPos = state.pos\n\n  state.pos = start + 1\n  level = 1\n\n  while (state.pos < max) {\n    marker = state.src.charCodeAt(state.pos)\n    if (marker === 0x5D /* ] */) {\n      level--\n      if (level === 0) {\n        found = true\n        break\n      }\n    }\n\n    prevPos = state.pos\n    state.md.inline.skipToken(state)\n    if (marker === 0x5B /* [ */) {\n      if (prevPos === state.pos - 1) {\n        // increase level if we find text `[`, which is not a part of any token\n        level++\n      } else if (disableNested) {\n        state.pos = oldPos\n        return -1\n      }\n    }\n  }\n\n  let labelEnd = -1\n\n  if (found) {\n    labelEnd = state.pos\n  }\n\n  // restore old state\n  state.pos = oldPos\n\n  return labelEnd\n}\n"],"names":["parseLinkLabel","state","start","disableNested","level","found","marker","prevPos","max","oldPos","labelEnd"],"mappings":"AAMe,SAASA,EAAgBC,GAAOC,GAAOC,GAAe;AACnE,MAAIC,GAAOC,GAAOC,GAAQC;AAE1B,QAAMC,IAAMP,EAAM,QACZQ,IAASR,EAAM;AAKrB,OAHAA,EAAM,MAAMC,IAAQ,GACpBE,IAAQ,GAEDH,EAAM,MAAMO,KAAK;AAEtB,QADAF,IAASL,EAAM,IAAI,WAAWA,EAAM,GAAG,GACnCK,MAAW,OACbF,KACIA,MAAU,IAAG;AACf,MAAAC,IAAQ;AACR;AAAA,IACF;AAKF,QAFAE,IAAUN,EAAM,KAChBA,EAAM,GAAG,OAAO,UAAUA,CAAK,GAC3BK,MAAW;AACb,UAAIC,MAAYN,EAAM,MAAM;AAE1B,QAAAG;AAAA,eACSD;AACT,eAAAF,EAAM,MAAMQ,GACL;AAAA;AAAA,EAGb;AAEA,MAAIC,IAAW;AAEf,SAAIL,MACFK,IAAWT,EAAM,MAInBA,EAAM,MAAMQ,GAELC;AACT;","x_google_ignoreList":[0]}