UNPKG

@evan/wasm

Version:
65 lines (51 loc) 32.4 kB
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})(49889,Uint8Array.from(atob('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'), char => char.codePointAt(0)))); const instance = new WebAssembly.Instance(module); 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 decompress(buffer) { return decompress_with(buffer, x => x.slice()); } export function decompress_raw(size, buffer) { return decompress_raw_with(size, buffer, x => x.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_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('lz4: 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(size, buffer, transform) { const ptr = mem.alloc(buffer.length); mem.u8(ptr, buffer.length).set(buffer); const x = wasm.decompress_raw(size, ptr, buffer.length); if (0 === x) throw new Error('lz4: failed to decompress (raw)'); const u8 = mem.u8(x, mem.length()); const value = transform(u8); return (mem.free(x, u8.length), value); }