vue-files-preview-inno
Version:
A tool for previewing files such as doc, excel, pdf, image, markdown, txt, audio, and video and so on.
1 lines • 2.06 kB
Source Map (JSON)
{"version":3,"file":"fragments_join.mjs","sources":["../../../../../../node_modules/markdown-it/lib/rules_inline/fragments_join.mjs"],"sourcesContent":["// Clean up tokens after emphasis and strikethrough postprocessing:\n// merge adjacent text nodes into one and re-calculate all token levels\n//\n// This is necessary because initially emphasis delimiter markers (*, _, ~)\n// are treated as their own separate text tokens. Then emphasis rule either\n// leaves them as text (needed to merge with adjacent text) or turns them\n// into opening/closing tags (which messes up levels inside).\n//\n\nexport default function fragments_join (state) {\n let curr, last\n let level = 0\n const tokens = state.tokens\n const max = state.tokens.length\n\n for (curr = last = 0; curr < max; curr++) {\n // re-calculate levels after emphasis/strikethrough turns some text nodes\n // into opening/closing tags\n if (tokens[curr].nesting < 0) level-- // closing tag\n tokens[curr].level = level\n if (tokens[curr].nesting > 0) level++ // opening tag\n\n if (tokens[curr].type === 'text' &&\n curr + 1 < max &&\n tokens[curr + 1].type === 'text') {\n // collapse two adjacent text nodes\n tokens[curr + 1].content = tokens[curr].content + tokens[curr + 1].content\n } else {\n if (curr !== last) { tokens[last] = tokens[curr] }\n\n last++\n }\n }\n\n if (curr !== last) {\n tokens.length = last\n }\n}\n"],"names":["fragments_join","state","curr","last","level","tokens","max"],"mappings":"AASe,SAASA,EAAgBC,GAAO;AAC7C,MAAIC,GAAMC,GACNC,IAAQ;AACZ,QAAMC,IAASJ,EAAM,QACfK,IAAML,EAAM,OAAO;AAEzB,OAAKC,IAAOC,IAAO,GAAGD,IAAOI,GAAKJ;AAGhC,IAAIG,EAAOH,CAAI,EAAE,UAAU,KAAGE,KAC9BC,EAAOH,CAAI,EAAE,QAAQE,GACjBC,EAAOH,CAAI,EAAE,UAAU,KAAGE,KAE1BC,EAAOH,CAAI,EAAE,SAAS,UACtBA,IAAO,IAAII,KACXD,EAAOH,IAAO,CAAC,EAAE,SAAS,SAE5BG,EAAOH,IAAO,CAAC,EAAE,UAAUG,EAAOH,CAAI,EAAE,UAAUG,EAAOH,IAAO,CAAC,EAAE,WAE/DA,MAASC,MAAQE,EAAOF,CAAI,IAAIE,EAAOH,CAAI,IAE/CC;AAIJ,EAAID,MAASC,MACXE,EAAO,SAASF;AAEpB;","x_google_ignoreList":[0]}