@evan/wasm
Version:
set of wasm modules
78 lines (62 loc) • 43.1 kB
JavaScript
let wasm;
{
const module = new WebAssembly.Module(((r,n)=>{var a=Uint8Array,e=Uint16Array,f=Uint32Array,o=a.of(16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15),i=a.of(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),t=a.of(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),v=function(r,n){for(var a=new e(31),o=0;o<31;++o)a[o]=n+=1<<r[o-1];var i=new f(a[30]);for(o=1;o<30;++o)for(var t=a[o];t<a[o+1];++t)i[t]=t-a[o]<<5|o;return[a,i]},u=v(i,2),l=u[0],s=u[1];l[28]=258,s[258]=28;for(var w,b=v(t,0)[0],c=new e(32768),y=0;y<32768;++y)w=(61680&(w=(52428&(w=(43690&y)>>>1|(21845&y)<<1))>>>2|(13107&w)<<2))>>>4|(3855&w)<<4,c[y]=((65280&w)>>>8|(255&w)<<8)>>>1;var g=function(r,n,a){for(var f=r.length,o=0,i=new e(n);o<f;++o)++i[r[o]-1];var t,v=new e(n);for(o=0;o<n;++o)v[o]=v[o-1]+i[o-1]<<1;if(a){t=new e(1<<n);var u=15-n;for(o=0;o<f;++o)if(r[o])for(var l=o<<4|r[o],s=n-r[o],w=v[r[o]-1]++<<s,b=w|(1<<s)-1;w<=b;++w)t[c[w]>>>u]=l}else for(t=new e(f),o=0;o<f;++o)r[o]&&(t[o]=c[v[r[o]-1]++]>>>15-r[o]);return t},h=new a(288);for(y=0;y<144;++y)h[y]=8;for(y=144;y<256;++y)h[y]=9;for(y=256;y<280;++y)h[y]=7;for(y=280;y<288;++y)h[y]=8;var k=new a(32);for(y=0;y<32;++y)k[y]=5;var A=g(h,9,1),U=g(k,5,1),d=function(r){for(var n=r[0],a=1;a<r.length;++a)r[a]>n&&(n=r[a]);return n},p=function(r,n,a){var e=n>>3|0;return(r[e]|r[e+1]<<8)>>(7&n)&a},m=function(r,n){var a=n>>3|0;return(r[a]|r[a+1]<<8|r[a+2]<<16)>>(7&n)};const z=new Uint8Array(r);return function(r,n,v){var u=r.length;if(!u||v&&!v.l&&u<5)return n||new a(0);v||(v={}),n||(n=new a(3*u));var s,w=v.f||0,c=v.p||0,y=v.b||0,h=v.l,k=v.d,z=v.m,j=v.n,q=8*u;do{if(!h){v.f=w=p(r,c,1);var x=p(r,c+1,3);if(c+=3,!x){var B=r[(M=((s=c)>>3|0)+(7&s&&1)+4)-4]|r[M-3]<<8,C=M+B;if(C>u)break;n.set(r.subarray(M,C),y),v.b=y+=B,v.p=c=8*C;continue}if(1===x)h=A,k=U,z=9,j=5;else if(2===x){var D=p(r,c,31)+257,E=p(r,c+10,15)+4,F=D+p(r,c+5,31)+1;c+=14;for(var G=new a(F),H=new a(19),I=0;I<E;++I)H[o[I]]=p(r,c+3*I,7);c+=3*E;var J=d(H),K=(1<<J)-1,L=g(H,J,1);for(I=0;I<F;){var M,N=L[p(r,c,K)];if(c+=15&N,(M=N>>>4)<16)G[I++]=M;else{var O=0,P=0;for(16===M?(P=3+p(r,c,3),c+=2,O=G[I-1]):17===M?(P=3+p(r,c,7),c+=3):18===M&&(P=11+p(r,c,127),c+=7);P--;)G[I++]=O}}var Q=G.subarray(0,D),R=G.subarray(D);z=d(Q),j=d(R),h=g(Q,z,1),k=g(R,j,1)}if(c>q)break}for(var S=(1<<z)-1,T=(1<<j)-1,V=c;;V=c){var W=(O=h[m(r,c)&S])>>>4;if((c+=15&O)>q)break;if(W<256)n[y++]=W;else{if(256===W){V=c,h=null;break}var X=W-254;if(W>264){var Y=i[I=W-257];X=p(r,c,(1<<Y)-1)+l[I],c+=Y}var Z=k[m(r,c)&T],$=Z>>>4;c+=15&Z;R=b[$];if($>3){Y=t[$];R+=m(r,c)&(1<<Y)-1,c+=Y}if(c>q)break;for(var _=y+X;y<_;y+=4)n[y]=n[y-R],n[y+1]=n[y+1-R],n[y+2]=n[y+2-R],n[y+3]=n[y+3-R];y=_}}v.l=h,v.p=V,v.b=y,h&&(w=1,v.m=z,v.d=k,v.n=j)}while(!w);y===n.length||function(r,n,o){(null==n||n<0)&&(n=0),(null==o||o>r.length)&&(o=r.length);var i=new(r instanceof e?e:r instanceof f?f:a)(o-n);i.set(r.subarray(n,o))}(n,0,y)}(n.subarray(2,-4),z),z})(74217,Uint8Array.from(atob('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'), char => char.codePointAt(0))));
const instance = new WebAssembly.Instance(module, {
wasi_snapshot_preview1: { fd_write() { }, proc_exit() { } },
env: { __sys_getcwd() { }, emscripten_notify_memory_growth() { } },
});
wasm = instance.exports;
}
class mem {
static length() { return wasm.wlen(); }
static alloc(size) { return wasm.walloc(size); }
static free(ptr, size) { return wasm.wfree(ptr, size); }
static u8(ptr, size) { return new Uint8Array(wasm.memory.buffer, ptr, size); }
static u32(ptr, size) { return new Uint32Array(wasm.memory.buffer, ptr, size); }
static copy_and_free(ptr, size) {
let slice = mem.u8(ptr, size).slice();
return (wasm.wfree(ptr, size), slice);
}
}
export function compress(buffer, level = 3) {
const ptr = mem.alloc(buffer.length);
mem.u8(ptr, buffer.length).set(buffer);
return mem.copy_and_free(wasm.compress(ptr, buffer.length, level), mem.length());
}
export function compress_raw(buffer, level = 3) {
const ptr = mem.alloc(buffer.length);
mem.u8(ptr, buffer.length).set(buffer);
return mem.copy_and_free(wasm.compress_raw(ptr, buffer.length, level), mem.length());
}
export function decompress(buffer, limit = 0) {
const ptr = mem.alloc(buffer.length);
mem.u8(ptr, buffer.length).set(buffer);
const x = wasm.decompress(ptr, buffer.length, limit);
if (0 === x) throw new Error('zlib: failed to decompress');
return mem.copy_and_free(x, mem.length());
}
export function decompress_raw(buffer, limit = 0) {
const ptr = mem.alloc(buffer.length);
mem.u8(ptr, buffer.length).set(buffer);
const x = wasm.decompress_raw(ptr, buffer.length, limit);
if (0 === x) throw new Error('zlib: failed to decompress (raw)');
return mem.copy_and_free(x, mem.length());
}
export function decompress_with(buffer, limit = 0, transform) {
const ptr = mem.alloc(buffer.length);
mem.u8(ptr, buffer.length).set(buffer);
const x = wasm.decompress(ptr, buffer.length, limit);
if (0 === x) throw new Error('zlib: failed to decompress');
const u8 = mem.u8(x, mem.length());
const value = transform(u8);
return (mem.free(x, u8.length), value);
}
export function decompress_raw_with(buffer, limit = 0, transform) {
const ptr = mem.alloc(buffer.length);
mem.u8(ptr, buffer.length).set(buffer);
const x = wasm.decompress_raw(ptr, buffer.length, limit);
if (0 === x) throw new Error('zlib: failed to decompress (raw)');
const u8 = mem.u8(x, mem.length());
const value = transform(u8);
return (mem.free(x, u8.length), value);
}