UNPKG

@triabin/vue-book-reader

Version:

Forked from jinhuan138/vue-book-reader, add some features

140 lines (139 loc) 5.76 kB
var t = Uint8Array, M = Uint16Array, sr = Int32Array, nr = new t([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, 0, 0, 0]), ar = new t([0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 0, 0]), hr = new t([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]), er = function(n, r) { for (var a = new M(31), i = 0; i < 31; ++i) a[i] = r += 1 << n[i - 1]; var o = new sr(a[30]); for (i = 1; i < 30; ++i) for (var b = a[i]; b < a[i + 1]; ++b) o[b] = b - a[i] << 5 | i; return { b: a, r: o }; }, ir = er(nr, 2), or = ir.b, yr = ir.r; or[28] = 258, yr[258] = 28; for (var gr = er(ar, 0).b, vr = new M(32768), v = 0; v < 32768; ++v) { var m = (43690 & v) >> 1 | (21845 & v) << 1; m = (61680 & (m = (52428 & m) >> 2 | (13107 & m) << 2)) >> 4 | (3855 & m) << 4, vr[v] = ((65280 & m) >> 8 | (255 & m) << 8) >> 1; } var S = function(n, r, a) { for (var i = n.length, o = 0, b = new M(r); o < i; ++o) n[o] && ++b[n[o] - 1]; var g, w = new M(r); for (o = 1; o < r; ++o) w[o] = w[o - 1] + b[o - 1] << 1; { g = new M(1 << r); var x = 15 - r; for (o = 0; o < i; ++o) if (n[o]) for (var E = o << 4 | n[o], h = r - n[o], e = w[n[o] - 1]++ << h, f = e | (1 << h) - 1; e <= f; ++e) g[vr[e] >> x] = E; } return g; }, K = new t(288); for (v = 0; v < 144; ++v) K[v] = 8; for (v = 144; v < 256; ++v) K[v] = 9; for (v = 256; v < 280; ++v) K[v] = 7; for (v = 280; v < 288; ++v) K[v] = 8; var fr = new t(32); for (v = 0; v < 32; ++v) fr[v] = 5; var wr = S(K, 9), pr = S(fr, 5), G = function(n) { for (var r = n[0], a = 1; a < n.length; ++a) n[a] > r && (r = n[a]); return r; }, u = function(n, r, a) { var i = r / 8 | 0; return (n[i] | n[i + 1] << 8) >> (7 & r) & a; }, Z = function(n, r) { var a = r / 8 | 0; return (n[a] | n[a + 1] << 8 | n[a + 2] << 16) >> (7 & r); }, kr = ["unexpected EOF", "invalid block type", "invalid length/literal", "invalid distance", "stream finished", "no stream handler", , "no callback", "invalid UTF-8 data", "extra field too long", "date not in range 1980-2099", "filename too long", "stream finishing", "invalid zip data"], c = function(n, r, a) { var i = new Error(r || kr[n]); if (i.code = n, Error.captureStackTrace && Error.captureStackTrace(i, c), !a) throw i; return i; }, mr = function(n, r, a, i) { var o = n.length, b = i ? i.length : 0; if (!o || r.f && !r.l) return a || new t(0); var g = !a, w = g || r.i != 2, x = r.i; g && (a = new t(3 * o)); var E = function(z) { var Y = a.length; if (z > Y) { var k = new t(Math.max(2 * Y, z)); k.set(a), a = k; } }, h = r.f || 0, e = r.p || 0, f = r.b || 0, p = r.l, L = r.d, T = r.m, A = r.n, q = 8 * o; do { if (!p) { h = u(n, e, 1); var B = u(n, e + 1, 3); if (e += 3, !B) { var I = n[(s = 4 + ((e + 7) / 8 | 0)) - 4] | n[s - 3] << 8, J = s + I; if (J > o) { x && c(0); break; } w && E(f + I), a.set(n.subarray(s, J), f), r.b = f += I, r.p = e = 8 * J, r.f = h; continue; } if (B == 1) p = wr, L = pr, T = 9, A = 5; else if (B == 2) { var O = u(n, e, 31) + 257, R = u(n, e + 10, 15) + 4, C = O + u(n, e + 5, 31) + 1; e += 14; for (var U = new t(C), P = new t(19), l = 0; l < R; ++l) P[hr[l]] = u(n, e + 3 * l, 7); e += 3 * R; var Q = G(P), tr = (1 << Q) - 1, lr = S(P, Q); for (l = 0; l < C; ) { var s, $ = lr[u(n, e, tr)]; if (e += 15 & $, (s = $ >> 4) < 16) U[l++] = s; else { var D = 0, X = 0; for (s == 16 ? (X = 3 + u(n, e, 3), e += 2, D = U[l - 1]) : s == 17 ? (X = 3 + u(n, e, 7), e += 3) : s == 18 && (X = 11 + u(n, e, 127), e += 7); X--; ) U[l++] = D; } } var W = U.subarray(0, O), y = U.subarray(O); T = G(W), A = G(y), p = S(W, T), L = S(y, A); } else c(1); if (e > q) { x && c(0); break; } } w && E(f + 131072); for (var ur = (1 << T) - 1, cr = (1 << A) - 1, V = e; ; V = e) { var d = (D = p[Z(n, e) & ur]) >> 4; if ((e += 15 & D) > q) { x && c(0); break; } if (D || c(2), d < 256) a[f++] = d; else { if (d == 256) { V = e, p = null; break; } var N = d - 254; if (d > 264) { var F = nr[l = d - 257]; N = u(n, e, (1 << F) - 1) + or[l], e += F; } var _ = L[Z(n, e) & cr], j = _ >> 4; if (_ || c(3), e += 15 & _, y = gr[j], j > 3 && (F = ar[j], y += Z(n, e) & (1 << F) - 1, e += F), e > q) { x && c(0); break; } w && E(f + 131072); var H = f + N; if (f < y) { var rr = b - y, br = Math.min(y, H); for (rr + f < 0 && c(3); f < br; ++f) a[f] = i[rr + f]; } for (; f < H; ++f) a[f] = a[f - y]; } } r.l = p, r.p = V, r.b = f, r.f = h, p && (h = 1, r.m = T, r.d = L, r.n = A); } while (!h); return f != a.length && g ? function(z, Y, k) { return (k == null || k > z.length) && (k = z.length), new t(z.subarray(Y, k)); }(a, 0, f) : a.subarray(0, f); }, xr = new t(0); function zr(n, r) { return mr(n.subarray((a = n, i = r && r.dictionary, ((15 & a[0]) != 8 || a[0] >> 4 > 7 || (a[0] << 8 | a[1]) % 31) && c(6, "invalid zlib data"), (a[1] >> 5 & 1) == +!i && c(6, "invalid zlib data: " + (32 & a[1] ? "need" : "unexpected") + " dictionary"), 2 + (a[1] >> 3 & 4)), -4), { i: 2 }, r && r.out, r && r.dictionary); var a, i; } var dr = typeof TextDecoder < "u" && new TextDecoder(); try { dr.decode(xr, { stream: !0 }); } catch { } export { zr as unzlibSync };