@gmod/cram
Version:
read CRAM files with pure Javascript
163 lines • 142 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
async function createHtsCodecsModule(moduleArg = {}) {
var Module = moduleArg;
var g = !!globalThis.WorkerGlobalScope, k = "";
if (globalThis.window || g)
try {
new URL(".", k);
}
catch { }
var l = console.log.bind(console), m = console.error.bind(console), n = !1, p;
function q(a) { for (var c = 0, d = a.length, b = new Uint8Array(d), f; c < d; ++c)
f = a.charCodeAt(c), b[c] = ~f >> 8 & f; return b; }
function r() {
if (!t?.buffer?.v) {
a: {
try {
var a = v.toResizableBuffer();
break a;
}
catch { }
a = v.buffer;
}
t = new Int8Array(a);
w = new Int16Array(a);
Module.HEAPU8 = x = new Uint8Array(a);
new Uint16Array(a);
Module.HEAP32 = y = new Int32Array(a);
z =
new Uint32Array(a);
C = new Float32Array(a);
D = new Float64Array(a);
E = new BigInt64Array(a);
new BigUint64Array(a);
}
}
function F() { var a = Module.preRun; a && (typeof a == "function" && (a = [a]), G.push(...a)); for (a = G; a.length > 0;)
a.shift()(Module); }
function H() { var a = Module.postRun; a && (typeof a == "function" && (a = [a]), I.push(...a)); for (a = I; a.length > 0;)
a.shift()(Module); }
function J(a) { Module.onAbort?.(a); a = `Aborted(${a})`; m(a); n = !0; throw new WebAssembly.RuntimeError(a + ". Build with -sASSERTIONS for more info."); }
var K;
async function L(a) { return a; }
async function M(a) { var c = K; try {
var d = await L(c);
return await WebAssembly.instantiate(d, a);
}
catch (b) {
m(`failed to asynchronously prepare wasm: ${b}`), J(b);
} }
async function N(a) { return M(a); }
class O {
name = "ExitStatus";
constructor(a) { this.message = `Program terminated with exit(${a})`; this.status = a; }
}
var w, y, E, t, C, D, z, x, I = [], G = [], Q = !0, R = 0, S = {}, T = a => { if (!(a instanceof O || a == "unwind"))
throw a; }, U = a => { p = a; Q || R > 0 || (Module.onExit?.(a), n = !0); throw new O(a); }, V = a => {
if (!n)
try {
a();
}
catch (c) {
T(c);
}
finally {
if (!(Q || R > 0))
try {
p =
a = p, U(a);
}
catch (c) {
T(c);
}
}
}, W = [null, [], []], aa = new TextDecoder;
Module.noExitRuntime && (Q = Module.noExitRuntime);
Module.print && (l = Module.print);
Module.printErr && (m = Module.printErr);
var X = Module.preInit;
if (X)
for (typeof X == "function" && (Module.preInit = X = [X]); X.length > 0;)
X.shift()();
Module.getValue = function (a, c = "i8") {
c.endsWith("*") && (c = "*");
switch (c) {
case "i1": return t[a];
case "i8": return t[a];
case "i16": return w[a >> 1];
case "i32": return y[a >> 2];
case "i64": return E[a >> 3];
case "float": return C[a >> 2];
case "double": return D[a >>
3];
case "*": return z[a >> 2];
default: J(`invalid type for getValue: ${c}`);
}
};
var Y, v, da = { e: () => J(""), d: () => { Q = !1; R = 0; }, a: (a, c) => { S[a] && (clearTimeout(S[a].id), delete S[a]); if (!c)
return 0; var d = setTimeout(() => { delete S[a]; V(() => Y(a, performance.now())); }, c); S[a] = { id: d, u: c }; return 0; }, b: a => {
var c = x.length;
a >>>= 0;
if (a > 2147483648)
return !1;
for (var d = 1; d <= 4; d *= 2) {
var b = c * (1 + .2 / d);
b = Math.min(b, a + 100663296);
a: {
b = (Math.min(2147483648, Math.ceil(Math.max(a, b) / 65536) * 65536) - v.buffer.byteLength + 65535) / 65536 | 0;
try {
v.grow(b);
r();
var f = 1;
break a;
}
catch (A) { }
f = void 0;
}
if (f)
return !0;
}
return !1;
}, g: a => { p = a; U(a); }, f: (a, c, d, b) => { for (var f = 0, A = 0; A < d; A++) {
var ba = z[c >> 2], P = z[c + 4 >> 2];
c += 8;
for (var B = 0; B < P; B++) {
var u = a, e = x[ba + B], h = W[u];
if (e === 0 || e === 10) {
u = u === 1 ? l : m;
e = 0;
for (var ca = e + NaN; h[e] && !(e >= ca);)
++e;
e = aa.decode(h.buffer ? h.subarray(0, e) : new Uint8Array(h.slice(0, e)));
u(e);
h.length = 0;
}
else
h.push(e);
}
f += P;
} z[b >> 2] = f; return 0; }, c: U }, Z;
Z = await (async function () {
function a(b) {
b = Z = b.exports;
Module._malloc = b.j;
Module._free = b.k;
Module._arith_uncompress =
b.l;
Module._fqz_decompress = b.m;
Module._rans_uncompress = b.n;
Module._rans_uncompress_4x16 = b.o;
Module._tok3_decode_names = b.p;
Module._bz2_uncompress = b.q;
Module._zlib_uncompress = b.r;
Module._batch_itf8_decode = b.s;
Y = b.t;
v = b.h;
r();
return Z;
}
var c = { a: da }, d = Module.instantiateWasm;
if (d)
return new Promise(b => { d(c, f => b(a(f))); });
K ??= q('