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.

329 lines (328 loc) 11.4 kB
import { __exports as K } from "../../../../_virtual/sax.mjs"; import "./conventions.mjs"; import { __exports as ee } from "../../../../_virtual/conventions.mjs"; var y = ee.NAMESPACE, R = /[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/, Q = new RegExp("[\\-\\.0-9" + R.source.slice(1, -1) + "\\u00B7\\u0300-\\u036F\\u203F-\\u2040]"), z = new RegExp("^" + R.source + Q.source + "*(?::" + R.source + Q.source + "*)?$"), _ = 0, T = 1, C = 2, D = 3, F = 4, k = 5, L = 6, P = 7; function O(e, r) { this.message = e, this.locator = r, Error.captureStackTrace && Error.captureStackTrace(this, O); } O.prototype = new Error(); O.prototype.name = O.name; function S() { } S.prototype = { parse: function(e, r, i) { var a = this.domBuilder; a.startDocument(), W(r, r = {}), re( e, r, i, a, this.errorHandler ), a.endDocument(); } }; function re(e, r, i, a, t) { function u(o) { if (o > 65535) { o -= 65536; var g = 55296 + (o >> 10), B = 56320 + (o & 1023); return String.fromCharCode(g, B); } else return String.fromCharCode(o); } function f(o) { var g = o.slice(1, -1); return g in i ? i[g] : g.charAt(0) === "#" ? u(parseInt(g.substr(1).replace("x", "0x"))) : (t.error("entity not found:" + o), o); } function l(o) { if (o > m) { var g = e.substring(m, o).replace(/&#?\w+;/g, f); v && n(m), a.characters(g, 0, o - m), m = o; } } function n(o, g) { for (; o >= c && (g = h.exec(e)); ) s = g.index, c = s + g[0].length, v.lineNumber++; v.columnNumber = o - s + 1; } for (var s = 0, c = 0, h = /.*(?:\r\n?|\n)|.*$/g, v = a.locator, E = [{ currentNSMap: r }], $ = {}, m = 0; ; ) { try { var p = e.indexOf("<", m); if (p < 0) { if (!e.substr(m).match(/^\s*$/)) { var U = a.doc, V = U.createTextNode(e.substr(m)); U.appendChild(V), a.currentElement = V; } return; } switch (p > m && l(p), e.charAt(p + 1)) { case "/": var b = e.indexOf(">", p + 3), x = e.substring(p + 2, b).replace(/[ \t\n\r]+$/g, ""), A = E.pop(); b < 0 ? (x = e.substring(p + 2).replace(/[\s<].*/, ""), t.error("end tag name: " + x + " is not complete:" + A.tagName), b = p + 1 + x.length) : x.match(/\s</) && (x = x.replace(/[\s<].*/, ""), t.error("end tag name: " + x + " maybe not complete"), b = p + 1 + x.length); var N = A.localNSMap, X = A.tagName == x, q = X || A.tagName && A.tagName.toLowerCase() == x.toLowerCase(); if (q) { if (a.endElement(A.uri, A.localName, x), N) for (var j in N) Object.prototype.hasOwnProperty.call(N, j) && a.endPrefixMapping(j); X || t.fatalError("end tag name: " + x + " is not match the current start tagName:" + A.tagName); } else E.push(A); b++; break; case "?": v && n(p), b = se(e, p, a); break; case "!": v && n(p), b = ne(e, p, a, t); break; default: v && n(p); var w = new Y(), d = E[E.length - 1].currentNSMap, b = ie(e, p, w, d, f, t), G = w.length; if (!w.closed && ae(e, b, w.tagName, $) && (w.closed = !0, i.nbsp || t.warning("unclosed xml attribute")), v && G) { for (var H = Z(v, {}), I = 0; I < G; I++) { var M = w[I]; n(M.offset), M.locator = Z(v, {}); } a.locator = H, J(w, a, d) && E.push(w), a.locator = v; } else J(w, a, d) && E.push(w); y.isHTML(w.uri) && !w.closed ? b = te(e, b, w.tagName, f, a) : b++; } } catch (o) { if (o instanceof O) throw o; t.error("element parse error: " + o), b = -1; } b > m ? m = b : l(Math.max(p, m) + 1); } } function Z(e, r) { return r.lineNumber = e.lineNumber, r.columnNumber = e.columnNumber, r; } function ie(e, r, i, a, t, u) { function f(v, E, $) { i.attributeNames.hasOwnProperty(v) && u.fatalError("Attribute " + v + " redefined"), i.addValue(v, E, $); } for (var l, n, s = ++r, c = _; ; ) { var h = e.charAt(s); switch (h) { case "=": if (c === T) l = e.slice(r, s), c = D; else if (c === C) c = D; else throw new Error("attribute equal must after attrName"); break; case "'": case '"': if (c === D || c === T) if (c === T && (u.warning('attribute value must after "="'), l = e.slice(r, s)), r = s + 1, s = e.indexOf(h, r), s > 0) n = e.slice(r, s).replace(/&#?\w+;/g, t), f(l, n, r - 1), c = k; else throw new Error("attribute value no end '" + h + "' match"); else if (c == F) n = e.slice(r, s).replace(/&#?\w+;/g, t), f(l, n, r), u.warning('attribute "' + l + '" missed start quot(' + h + ")!!"), r = s + 1, c = k; else throw new Error('attribute value must after "="'); break; case "/": switch (c) { case _: i.setTagName(e.slice(r, s)); case k: case L: case P: c = P, i.closed = !0; case F: case T: break; case C: i.closed = !0; break; default: throw new Error("attribute invalid close char('/')"); } break; case "": return u.error("unexpected end of input"), c == _ && i.setTagName(e.slice(r, s)), s; case ">": switch (c) { case _: i.setTagName(e.slice(r, s)); case k: case L: case P: break; case F: case T: n = e.slice(r, s), n.slice(-1) === "/" && (i.closed = !0, n = n.slice(0, -1)); case C: c === C && (n = l), c == F ? (u.warning('attribute "' + n + '" missed quot(")!'), f(l, n.replace(/&#?\w+;/g, t), r)) : ((!y.isHTML(a[""]) || !n.match(/^(?:disabled|checked|selected)$/i)) && u.warning('attribute "' + n + '" missed value!! "' + n + '" instead!!'), f(n, n, r)); break; case D: throw new Error("attribute value missed!!"); } return s; case "€": h = " "; default: if (h <= " ") switch (c) { case _: i.setTagName(e.slice(r, s)), c = L; break; case T: l = e.slice(r, s), c = C; break; case F: var n = e.slice(r, s).replace(/&#?\w+;/g, t); u.warning('attribute "' + n + '" missed quot(")!!'), f(l, n, r); case k: c = L; break; } else switch (c) { case C: i.tagName, (!y.isHTML(a[""]) || !l.match(/^(?:disabled|checked|selected)$/i)) && u.warning('attribute "' + l + '" missed value!! "' + l + '" instead2!!'), f(l, l, r), r = s, c = T; break; case k: u.warning('attribute space is required"' + l + '"!!'); case L: c = T, r = s; break; case D: c = F, r = s; break; case P: throw new Error("elements closed character '/' and '>' must be connected to"); } } s++; } } function J(e, r, i) { for (var a = e.tagName, t = null, h = e.length; h--; ) { var u = e[h], f = u.qName, l = u.value, v = f.indexOf(":"); if (v > 0) var n = u.prefix = f.slice(0, v), s = f.slice(v + 1), c = n === "xmlns" && s; else s = f, n = null, c = f === "xmlns" && ""; u.localName = s, c !== !1 && (t == null && (t = {}, W(i, i = {})), i[c] = t[c] = l, u.uri = y.XMLNS, r.startPrefixMapping(c, l)); } for (var h = e.length; h--; ) { u = e[h]; var n = u.prefix; n && (n === "xml" && (u.uri = y.XML), n !== "xmlns" && (u.uri = i[n || ""])); } var v = a.indexOf(":"); v > 0 ? (n = e.prefix = a.slice(0, v), s = e.localName = a.slice(v + 1)) : (n = null, s = e.localName = a); var E = e.uri = i[n || ""]; if (r.startElement(E, s, a, e), e.closed) { if (r.endElement(E, s, a), t) for (n in t) Object.prototype.hasOwnProperty.call(t, n) && r.endPrefixMapping(n); } else return e.currentNSMap = i, e.localNSMap = t, !0; } function te(e, r, i, a, t) { if (/^(?:script|textarea)$/i.test(i)) { var u = e.indexOf("</" + i + ">", r), f = e.substring(r + 1, u); if (/[&<]/.test(f)) return /^script$/i.test(i) ? (t.characters(f, 0, f.length), u) : (f = f.replace(/&#?\w+;/g, a), t.characters(f, 0, f.length), u); } return r + 1; } function ae(e, r, i, a) { var t = a[i]; return t == null && (t = e.lastIndexOf("</" + i + ">"), t < r && (t = e.lastIndexOf("</" + i)), a[i] = t), t < r; } function W(e, r) { for (var i in e) Object.prototype.hasOwnProperty.call(e, i) && (r[i] = e[i]); } function ne(e, r, i, a) { var t = e.charAt(r + 2); switch (t) { case "-": if (e.charAt(r + 3) === "-") { var u = e.indexOf("-->", r + 4); return u > r ? (i.comment(e, r + 4, u - r - 4), u + 3) : (a.error("Unclosed comment"), -1); } else return -1; default: if (e.substr(r + 3, 6) == "CDATA[") { var u = e.indexOf("]]>", r + 9); return i.startCDATA(), i.characters(e, r + 9, u - r - 9), i.endCDATA(), u + 3; } var f = ce(e, r), l = f.length; if (l > 1 && /!doctype/i.test(f[0][0])) { var n = f[1][0], s = !1, c = !1; l > 3 && (/^public$/i.test(f[2][0]) ? (s = f[3][0], c = l > 4 && f[4][0]) : /^system$/i.test(f[2][0]) && (c = f[3][0])); var h = f[l - 1]; return i.startDTD(n, s, c), i.endDTD(), h.index + h[0].length; } } return -1; } function se(e, r, i) { var a = e.indexOf("?>", r); if (a) { var t = e.substring(r, a).match(/^<\?(\S*)\s*([\s\S]*?)\s*$/); return t ? (t[0].length, i.processingInstruction(t[1], t[2]), a + 2) : -1; } return -1; } function Y() { this.attributeNames = {}; } Y.prototype = { setTagName: function(e) { if (!z.test(e)) throw new Error("invalid tagName:" + e); this.tagName = e; }, addValue: function(e, r, i) { if (!z.test(e)) throw new Error("invalid attribute:" + e); this.attributeNames[e] = this.length, this[this.length++] = { qName: e, value: r, offset: i }; }, length: 0, getLocalName: function(e) { return this[e].localName; }, getLocator: function(e) { return this[e].locator; }, getQName: function(e) { return this[e].qName; }, getURI: function(e) { return this[e].uri; }, getValue: function(e) { return this[e].value; } // ,getIndex:function(uri, localName)){ // if(localName){ // // }else{ // var qName = uri // } // }, // getValue:function(){return this.getValue(this.getIndex.apply(this,arguments))}, // getType:function(uri,localName){} // getType:function(i){}, }; function ce(e, r) { var i, a = [], t = /'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g; for (t.lastIndex = r, t.exec(e); i = t.exec(e); ) if (a.push(i), i[1]) return a; } K.XMLReader = S; K.ParseError = O; export { K as default }; //# sourceMappingURL=sax.mjs.map