UNPKG

@evan/wasm

Version:
125 lines (101 loc) 48.8 kB
let wasm; let pool = 0; const streams = new Map; { 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})(60332,Uint8Array.from(atob('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'), char => char.codePointAt(0)))); const instance = new WebAssembly.Instance(module, { env: { push_to_stream(id, ptr) { streams.get(id).cb(mem.u8(ptr, mem.length()).slice()); }, }, }); 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) { const ptr = mem.alloc(buffer.length); mem.u8(ptr, buffer.length).set(buffer); return mem.copy_and_free(wasm.compress(ptr, buffer.length), mem.length()); } export function compress_raw(buffer) { const ptr = mem.alloc(buffer.length); mem.u8(ptr, buffer.length).set(buffer); return mem.copy_and_free(wasm.compress_raw(ptr, buffer.length), mem.length()); } export function decompress(buffer) { const ptr = mem.alloc(buffer.length); mem.u8(ptr, buffer.length).set(buffer); const x = wasm.decompress(ptr, buffer.length); if (0 === x) throw new Error('snappy: failed to decompress'); return mem.copy_and_free(x, mem.length()); } export function decompress_raw(buffer) { const ptr = mem.alloc(buffer.length); mem.u8(ptr, buffer.length).set(buffer); const x = wasm.decompress_raw(ptr, buffer.length); if (0 === x) throw new Error('snappy: failed to decompress (raw)'); return mem.copy_and_free(x, mem.length()); } export function decompress_with(buffer, transform) { const ptr = mem.alloc(buffer.length); mem.u8(ptr, buffer.length).set(buffer); const x = wasm.decompress(ptr, buffer.length); if (0 === x) throw new Error('snappy: 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, transform) { const ptr = mem.alloc(buffer.length); mem.u8(ptr, buffer.length).set(buffer); const x = wasm.decompress_raw(ptr, buffer.length); if (0 === x) throw new Error('snappy: failed to decompress (raw)'); const u8 = mem.u8(x, mem.length()); const value = transform(u8); return (mem.free(x, u8.length), value); } export class CompressionStream { constructor() { const t = new TransformStream(); const writer = t.writable.getWriter(); const c = new Compressor(x => writer.write(x)); return { readable: t.readable, writable: new WritableStream({ write(chunk) { c.write(chunk) }, abort(r) { c.free(); return writer.abort(r) }, close() { c.flush(); c.free(); return writer.close() }, }), }; } } export class Compressor { constructor(callback) { this.id = pool++; this.cb = callback; streams.set(this.id, this); this.ptr = wasm.compressor_new(this.id); } flush() { wasm.compressor_flush(this.ptr); } free() { wasm.compressor_free(this.ptr); streams.delete(this.id); } write(buffer) { const ptr = mem.alloc(buffer.length); mem.u8(ptr, buffer.length).set(buffer); wasm.compressor_write(this.ptr, ptr, buffer.length); } }