@triabin/vue-book-reader
Version:
Forked from jinhuan138/vue-book-reader, add some features
140 lines (139 loc) • 5.76 kB
JavaScript
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
};