UNPKG

vue-book-reader

Version:

vue-book-reader is a vue wrapper for [foliate-js](https://github.com/johnfactotum/foliate-js) - library for rendering e-books in the browser. Supports EPUB, MOBI, KF8 (AZW3), FB2, CBZ, PDF (experimental; requires PDF.js), or add support for other formats

163 lines (162 loc) 5.94 kB
var c = Uint8Array, S = Uint16Array, Y = Uint32Array, r1 = new c([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]), n1 = new c([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]), i1 = new c([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]), e1 = function(n, e) { for (var r = new S(31), v = 0; v < 31; ++v) r[v] = e += 1 << n[v - 1]; var t = new Y(r[30]); for (v = 1; v < 30; ++v) for (var u = r[v]; u < r[v + 1]; ++u) t[u] = u - r[v] << 5 | v; return [r, t]; }, a1 = e1(r1, 2), t1 = a1[0], w1 = a1[1]; t1[28] = 258, w1[258] = 28; for (var b1 = e1(n1, 0)[0], Z = new S(32768), f = 0; f < 32768; ++f) { var x = (43690 & f) >>> 1 | (21845 & f) << 1; x = (61680 & (x = (52428 & x) >>> 2 | (13107 & x) << 2)) >>> 4 | (3855 & x) << 4, Z[f] = ((65280 & x) >>> 8 | (255 & x) << 8) >>> 1; } var L = function(n, e, r) { for (var v = n.length, t = 0, u = new S(e); t < v; ++t) n[t] && ++u[n[t] - 1]; var s, b = new S(e); for (t = 0; t < e; ++t) b[t] = b[t - 1] + u[t - 1] << 1; if (r) { s = new S(1 << e); var a = 15 - e; for (t = 0; t < v; ++t) if (n[t]) for (var o = t << 4 | n[t], l = e - n[t], E = b[n[t] - 1]++ << l, m = E | (1 << l) - 1; E <= m; ++E) s[Z[E] >>> a] = o; } else for (s = new S(v), t = 0; t < v; ++t) n[t] && (s[t] = Z[b[n[t] - 1]++] >>> 15 - n[t]); return s; }, M = new c(288); for (f = 0; f < 144; ++f) M[f] = 8; for (f = 144; f < 256; ++f) M[f] = 9; for (f = 256; f < 280; ++f) M[f] = 7; for (f = 280; f < 288; ++f) M[f] = 8; var v1 = new c(32); for (f = 0; f < 32; ++f) v1[f] = 5; var l1 = L(M, 9, 1), h1 = L(v1, 5, 1), G = function(n) { for (var e = n[0], r = 1; r < n.length; ++r) n[r] > e && (e = n[r]); return e; }, w = function(n, e, r) { var v = e / 8 | 0; return (n[v] | n[v + 1] << 8) >> (7 & e) & r; }, J = function(n, e) { var r = e / 8 | 0; return (n[r] | n[r + 1] << 8 | n[r + 2] << 16) >> (7 & e); }, s1 = ["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"], h = function(n, e, r) { var v = new Error(e || s1[n]); if (v.code = n, Error.captureStackTrace && Error.captureStackTrace(v, h), !r) throw v; return v; }, E1 = function(n, e, r) { var v = n.length; if (!v || r && r.f && !r.l) return e || new c(0); var t = !e || r, u = !r || r.i; r || (r = {}), e || (e = new c(3 * v)); var s = function(y) { var T = e.length; if (y > T) { var k = new c(Math.max(2 * T, y)); k.set(e), e = k; } }, b = r.f || 0, a = r.p || 0, o = r.b || 0, l = r.l, E = r.d, m = r.m, _ = r.n, j = 8 * v; do { if (!l) { b = w(n, a, 1); var q = w(n, a + 1, 3); if (a += 3, !q) { var B = n[(p = 4 + ((a + 7) / 8 | 0)) - 4] | n[p - 3] << 8, D = p + B; if (D > v) { u && h(0); break; } t && s(o + B), e.set(n.subarray(p, D), o), r.b = o += B, r.p = a = 8 * D, r.f = b; continue; } if (q == 1) l = l1, E = h1, m = 9, _ = 5; else if (q == 2) { var F = w(n, a, 31) + 257, P = w(n, a + 10, 15) + 4, W = F + w(n, a + 5, 31) + 1; a += 14; for (var d = new c(W), O = new c(19), i = 0; i < P; ++i) O[i1[i]] = w(n, a + 3 * i, 7); a += 3 * P; var I = G(O), f1 = (1 << I) - 1, o1 = L(O, I, 1); for (i = 0; i < W; ) { var p, H = o1[w(n, a, f1)]; if (a += 15 & H, (p = H >>> 4) < 16) d[i++] = p; else { var z = 0, N = 0; for (p == 16 ? (N = 3 + w(n, a, 3), a += 2, z = d[i - 1]) : p == 17 ? (N = 3 + w(n, a, 7), a += 3) : p == 18 && (N = 11 + w(n, a, 127), a += 7); N--; ) d[i++] = z; } } var $ = d.subarray(0, F), g = d.subarray(F); m = G($), _ = G(g), l = L($, m, 1), E = L(g, _, 1); } else h(1); if (a > j) { u && h(0); break; } } t && s(o + 131072); for (var u1 = (1 << m) - 1, c1 = (1 << _) - 1, Q = a; ; Q = a) { var U = (z = l[J(n, a) & u1]) >>> 4; if ((a += 15 & z) > j) { u && h(0); break; } if (z || h(2), U < 256) e[o++] = U; else { if (U == 256) { Q = a, l = null; break; } var X = U - 254; if (U > 264) { var A = r1[i = U - 257]; X = w(n, a, (1 << A) - 1) + t1[i], a += A; } var R = E[J(n, a) & c1], V = R >>> 4; if (R || h(3), a += 15 & R, g = b1[V], V > 3 && (A = n1[V], g += J(n, a) & (1 << A) - 1, a += A), a > j) { u && h(0); break; } t && s(o + 131072); for (var K = o + X; o < K; o += 4) e[o] = e[o - g], e[o + 1] = e[o + 1 - g], e[o + 2] = e[o + 2 - g], e[o + 3] = e[o + 3 - g]; o = K; } } r.l = l, r.p = Q, r.b = o, r.f = b, l && (b = 1, r.m = m, r.d = E, r.n = _); } while (!b); return o == e.length ? e : function(y, T, k) { (T == null || T < 0) && (T = 0), (k == null || k > y.length) && (k = y.length); var C = new (y.BYTES_PER_ELEMENT == 2 ? S : y.BYTES_PER_ELEMENT == 4 ? Y : c)(k - T); return C.set(y.subarray(T, k)), C; }(e, 0, o); }, p1 = new c(0); function y1(n, e) { return E1((((15 & (r = n)[0]) != 8 || r[0] >>> 4 > 7 || (r[0] << 8 | r[1]) % 31) && h(6, "invalid zlib data"), 32 & r[1] && h(6, "invalid zlib data: preset dictionaries not supported"), n.subarray(2, -4)), e); var r; } var g1 = typeof TextDecoder < "u" && new TextDecoder(); try { g1.decode(p1, { stream: !0 }); } catch { } export { y1 as unzlibSync };