UNPKG

vue-files-preview-inno

Version:

A tool for previewing files such as doc, excel, pdf, image, markdown, txt, audio, and video and so on.

97 lines (96 loc) 2.83 kB
import { isSpace as h, normalizeReference as w } from "../common/utils.mjs"; function B(n, t, S, y) { let e = n.bMarks[t] + n.tShift[t], i = n.eMarks[t], f = t + 1; if (n.sCount[t] - n.blkIndent >= 4 || n.src.charCodeAt(e) !== 91) return !1; function s(r) { const o = n.lineMax; if (r >= o || n.isEmpty(r)) return null; let k = !1; if (n.sCount[r] - n.blkIndent > 3 && (k = !0), n.sCount[r] < 0 && (k = !0), !k) { const x = n.md.block.ruler.getRules("reference"), R = n.parentType; n.parentType = "reference"; let g = !1; for (let C = 0, E = x.length; C < E; C++) if (x[C](n, r, o, !0)) { g = !0; break; } if (n.parentType = R, g) return null; } const v = n.bMarks[r] + n.tShift[r], M = n.eMarks[r]; return n.src.slice(v, M + 1); } let l = n.src.slice(e, i + 1); i = l.length; let u = -1; for (e = 1; e < i; e++) { const r = l.charCodeAt(e); if (r === 91) return !1; if (r === 93) { u = e; break; } else if (r === 10) { const o = s(f); o !== null && (l += o, i = l.length, f++); } else if (r === 92 && (e++, e < i && l.charCodeAt(e) === 10)) { const o = s(f); o !== null && (l += o, i = l.length, f++); } } if (u < 0 || l.charCodeAt(u + 1) !== 58) return !1; for (e = u + 2; e < i; e++) { const r = l.charCodeAt(e); if (r === 10) { const o = s(f); o !== null && (l += o, i = l.length, f++); } else if (!h(r)) break; } const p = n.md.helpers.parseLinkDestination(l, e, i); if (!p.ok) return !1; const A = n.md.normalizeLink(p.str); if (!n.md.validateLink(A)) return !1; e = p.pos; const m = e, b = f, T = e; for (; e < i; e++) { const r = l.charCodeAt(e); if (r === 10) { const o = s(f); o !== null && (l += o, i = l.length, f++); } else if (!h(r)) break; } let c = n.md.helpers.parseLinkTitle(l, e, i); for (; c.can_continue; ) { const r = s(f); if (r === null) break; l += r, e = i, i = l.length, f++, c = n.md.helpers.parseLinkTitle(l, e, i, c); } let d; for (e < i && T !== e && c.ok ? (d = c.str, e = c.pos) : (d = "", e = m, f = b); e < i; ) { const r = l.charCodeAt(e); if (!h(r)) break; e++; } if (e < i && l.charCodeAt(e) !== 10 && d) for (d = "", e = m, f = b; e < i; ) { const r = l.charCodeAt(e); if (!h(r)) break; e++; } if (e < i && l.charCodeAt(e) !== 10) return !1; const a = w(l.slice(1, u)); return a ? (y || (typeof n.env.references > "u" && (n.env.references = {}), typeof n.env.references[a] > "u" && (n.env.references[a] = { title: d, href: A }), n.line = f), !0) : !1; } export { B as default }; //# sourceMappingURL=reference.mjs.map