UNPKG

@sentry-internal/rrweb-packer

Version:

`@rrweb/packer` is a tool to compress rrweb events into a smaller size.

21 lines (20 loc) 10.7 kB
(function (g, f) {if ("object" == typeof exports && "object" == typeof module) {module.exports = f();} else if ("function" == typeof define && define.amd) {define("rrwebPacker", [], f);} else if ("object" == typeof exports) {exports["rrwebPacker"] = f();} else {g["rrwebPacker"] = f();}}(typeof self !== 'undefined' ? self : typeof globalThis !== 'undefined' ? globalThis : this, () => {var exports = {};var module = { exports }; "use strict";var Kr=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports);var Or=Kr(L=>{"use strict";var E=Uint8Array,F=Uint16Array,er=Uint32Array,fr=new E([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]),or=new E([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]),hr=new E([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Ar=function(r,e){for(var a=new F(31),n=0;n<31;++n)a[n]=e+=1<<r[n-1];for(var v=new er(a[30]),n=1;n<30;++n)for(var i=a[n];i<a[n+1];++i)v[i]=i-a[n]<<5|n;return[a,v]},br=Ar(fr,2),Er=br[0],wr=br[1];Er[28]=258,wr[258]=28;var Fr=Ar(or,0),Rr=Fr[0],Tr=Fr[1],cr=new F(32768);for(w=0;w<32768;++w)X=(w&43690)>>>1|(w&21845)<<1,X=(X&52428)>>>2|(X&13107)<<2,X=(X&61680)>>>4|(X&3855)<<4,cr[w]=((X&65280)>>>8|(X&255)<<8)>>>1;var X,w,W=(function(r,e,a){for(var n=r.length,v=0,i=new F(e);v<n;++v)++i[r[v]-1];var u=new F(e);for(v=0;v<e;++v)u[v]=u[v-1]+i[v-1]<<1;var h;if(a){h=new F(1<<e);var f=15-e;for(v=0;v<n;++v)if(r[v])for(var t=v<<4|r[v],o=e-r[v],s=u[r[v]-1]++<<o,g=s|(1<<o)-1;s<=g;++s)h[cr[s]>>>f]=t}else for(h=new F(n),v=0;v<n;++v)h[v]=cr[u[r[v]-1]++]>>>15-r[v];return h}),Z=new E(288);for(w=0;w<144;++w)Z[w]=8;var w;for(w=144;w<256;++w)Z[w]=9;var w;for(w=256;w<280;++w)Z[w]=7;var w;for(w=280;w<288;++w)Z[w]=8;var w,ar=new E(32);for(w=0;w<32;++w)ar[w]=5;var w,qr=W(Z,9,0),Dr=W(Z,9,1),Jr=W(ar,5,0),Nr=W(ar,5,1),lr=function(r){for(var e=r[0],a=1;a<r.length;++a)r[a]>e&&(e=r[a]);return e},G=function(r,e,a){var n=e/8>>0;return(r[n]|r[n+1]<<8)>>>(e&7)&a},tr=function(r,e){var a=e/8>>0;return(r[a]|r[a+1]<<8|r[a+2]<<16)>>>(e&7)},Mr=function(r){return(r/8>>0)+(r&7&&1)},Sr=function(r,e,a){(a==null||a>r.length)&&(a=r.length);var n=new(r instanceof F?F:r instanceof er?er:E)(a-e);return n.set(r.subarray(e,a)),n},$r=function(r,e,a){var n=r.length,v=!e||a,i=!a||a.i;a||(a={}),e||(e=new E(n*3));var u=function(vr){var p=e.length;if(vr>p){var _=new E(Math.max(p*2,vr));_.set(e),e=_}},h=a.f||0,f=a.p||0,t=a.b||0,o=a.l,s=a.d,g=a.m,c=a.n,U=n*8;do{if(!o){a.f=h=G(r,f,1);var C=G(r,f+1,3);if(f+=3,C)if(C==1)o=Dr,s=Nr,g=9,c=5;else if(C==2){var H=G(r,f,31)+257,B=G(r,f+10,15)+4,x=H+G(r,f+5,31)+1;f+=14;for(var T=new E(x),S=new E(19),l=0;l<B;++l)S[hr[l]]=G(r,f+l*3,7);f+=B*3;var P=lr(S),K=(1<<P)-1;if(!i&&f+x*(P+7)>U)break;for(var j=W(S,P,1),l=0;l<x;){var z=j[G(r,f,K)];f+=z&15;var M=z>>>4;if(M<16)T[l++]=M;else{var D=0,A=0;for(M==16?(A=3+G(r,f,3),f+=2,D=T[l-1]):M==17?(A=3+G(r,f,7),f+=3):M==18&&(A=11+G(r,f,127),f+=7);A--;)T[l++]=D}}var R=T.subarray(0,H),k=T.subarray(H);g=lr(R),c=lr(k),o=W(R,g,1),s=W(k,c,1)}else throw"invalid block type";else{var M=Mr(f)+4,$=r[M-4]|r[M-3]<<8,O=M+$;if(O>n){if(i)throw"unexpected EOF";break}v&&u(t+$),e.set(r.subarray(M,O),t),a.b=t+=$,a.p=f=O*8;continue}if(f>U)throw"unexpected EOF"}v&&u(t+131072);for(var y=(1<<g)-1,J=(1<<c)-1,I=g+c+18;i||f+I<U;){var D=o[tr(r,f)&y],Q=D>>>4;if(f+=D&15,f>U)throw"unexpected EOF";if(!D)throw"invalid length/literal";if(Q<256)e[t++]=Q;else if(Q==256){o=null;break}else{var N=Q-254;if(Q>264){var l=Q-257,m=fr[l];N=G(r,f,(1<<m)-1)+Er[l],f+=m}var V=s[tr(r,f)&J],q=V>>>4;if(!V)throw"invalid distance";f+=V&15;var k=Rr[q];if(q>3){var m=or[q];k+=tr(r,f)&(1<<m)-1,f+=m}if(f>U)throw"unexpected EOF";v&&u(t+131072);for(var b=t+N;t<b;t+=4)e[t]=e[t-k],e[t+1]=e[t+1-k],e[t+2]=e[t+2-k],e[t+3]=e[t+3-k];t=b}}a.l=o,a.p=f,a.b=t,o&&(h=1,a.m=g,a.d=s,a.n=c)}while(!h);return t==e.length?e:Sr(e,0,t)},Y=function(r,e,a){a<<=e&7;var n=e/8>>0;r[n]|=a,r[n+1]|=a>>>8},d=function(r,e,a){a<<=e&7;var n=e/8>>0;r[n]|=a,r[n+1]|=a>>>8,r[n+2]|=a>>>16},ur=function(r,e){for(var a=[],n=0;n<r.length;++n)r[n]&&a.push({s:n,f:r[n]});var v=a.length,i=a.slice();if(!v)return[new E(0),0];if(v==1){var u=new E(a[0].s+1);return u[a[0].s]=1,[u,1]}a.sort(function(x,T){return x.f-T.f}),a.push({s:-1,f:25001});var h=a[0],f=a[1],t=0,o=1,s=2;for(a[0]={s:-1,f:h.f+f.f,l:h,r:f};o!=v-1;)h=a[a[t].f<a[s].f?t++:s++],f=a[t!=o&&a[t].f<a[s].f?t++:s++],a[o++]={s:-1,f:h.f+f.f,l:h,r:f};for(var g=i[0].s,n=1;n<v;++n)i[n].s>g&&(g=i[n].s);var c=new F(g+1),U=sr(a[o-1],c,0);if(U>e){var n=0,C=0,M=U-e,$=1<<M;for(i.sort(function(T,S){return c[S.s]-c[T.s]||T.f-S.f});n<v;++n){var O=i[n].s;if(c[O]>e)C+=$-(1<<U-c[O]),c[O]=e;else break}for(C>>>=M;C>0;){var H=i[n].s;c[H]<e?C-=1<<e-c[H]++-1:++n}for(;n>=0&&C;--n){var B=i[n].s;c[B]==e&&(--c[B],++C)}U=e}return[new E(c),U]},sr=function(r,e,a){return r.s==-1?Math.max(sr(r.l,e,a+1),sr(r.r,e,a+1)):e[r.s]=a},Ur=function(r){for(var e=r.length;e&&!r[--e];);for(var a=new F(++e),n=0,v=r[0],i=1,u=function(f){a[n++]=f},h=1;h<=e;++h)if(r[h]==v&&h!=e)++i;else{if(!v&&i>2){for(;i>138;i-=138)u(32754);i>2&&(u(i>10?i-11<<5|28690:i-3<<5|12305),i=0)}else if(i>3){for(u(v),--i;i>6;i-=6)u(8304);i>2&&(u(i-3<<5|8208),i=0)}for(;i--;)u(v);i=1,v=r[h]}return[a.subarray(0,n),e]},rr=function(r,e){for(var a=0,n=0;n<e.length;++n)a+=r[n]*e[n];return a},gr=function(r,e,a){var n=a.length,v=Mr(e+2);r[v]=n&255,r[v+1]=n>>>8,r[v+2]=r[v]^255,r[v+3]=r[v+1]^255;for(var i=0;i<n;++i)r[v+i+4]=a[i];return(v+4+n)*8},zr=function(r,e,a,n,v,i,u,h,f,t,o){Y(e,o++,a),++v[256];for(var s=ur(v,15),g=s[0],c=s[1],U=ur(i,15),C=U[0],M=U[1],$=Ur(g),O=$[0],H=$[1],B=Ur(C),x=B[0],T=B[1],S=new F(19),l=0;l<O.length;++l)S[O[l]&31]++;for(var l=0;l<x.length;++l)S[x[l]&31]++;for(var P=ur(S,7),K=P[0],j=P[1],z=19;z>4&&!K[hr[z-1]];--z);var D=t+5<<3,A=rr(v,Z)+rr(i,ar)+u,R=rr(v,g)+rr(i,C)+u+14+3*z+rr(S,K)+(2*S[16]+3*S[17]+7*S[18]);if(D<=A&&D<=R)return gr(e,o,r.subarray(f,f+t));var k,y,J,I;if(Y(e,o,1+(R<A)),o+=2,R<A){k=W(g,c,0),y=g,J=W(C,M,0),I=C;var Q=W(K,j,0);Y(e,o,H-257),Y(e,o+5,T-1),Y(e,o+10,z-4),o+=14;for(var l=0;l<z;++l)Y(e,o+3*l,K[hr[l]]);o+=3*z;for(var N=[O,x],m=0;m<2;++m)for(var V=N[m],l=0;l<V.length;++l){var q=V[l]&31;Y(e,o,Q[q]),o+=K[q],q>15&&(Y(e,o,V[l]>>>5&127),o+=V[l]>>>12)}}else k=qr,y=Z,J=Jr,I=ar;for(var l=0;l<h;++l)if(n[l]>255){var q=n[l]>>>18&31;d(e,o,k[q+257]),o+=y[q+257],q>7&&(Y(e,o,n[l]>>>23&31),o+=fr[q]);var b=n[l]&31;d(e,o,J[b]),o+=I[b],b>3&&(d(e,o,n[l]>>>5&8191),o+=or[b])}else d(e,o,k[n[l]]),o+=y[n[l]];return d(e,o,k[256]),o+y[256]},Br=new er([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),Pr=function(r,e,a,n,v,i){var u=r.length,h=new E(n+u+5*(1+Math.floor(u/7e3))+v),f=h.subarray(n,h.length-v),t=0;if(!e||u<8)for(var o=0;o<=u;o+=65535){var s=o+65535;s<u?t=gr(f,t,r.subarray(o,s)):(f[o]=i,t=gr(f,t,r.subarray(o,u)))}else{for(var g=Br[e-1],c=g>>>13,U=g&8191,C=(1<<a)-1,M=new F(32768),$=new F(C+1),O=Math.ceil(a/3),H=2*O,B=function(ir){return(r[ir]^r[ir+1]<<O^r[ir+2]<<H)&C},x=new er(25e3),T=new F(288),S=new F(32),l=0,P=0,o=0,K=0,j=0,z=0;o<u;++o){var D=B(o),A=o&32767,R=$[D];if(M[A]=R,$[D]=A,j<=o){var k=u-o;if((l>7e3||K>24576)&&k>423){t=zr(r,f,0,x,T,S,P,K,z,o-z,t),K=l=P=0,z=o;for(var y=0;y<286;++y)T[y]=0;for(var y=0;y<30;++y)S[y]=0}var J=2,I=0,Q=U,N=A-R&32767;if(k>2&&D==B(o-N))for(var m=Math.min(c,k)-1,V=Math.min(32767,o),q=Math.min(258,k);N<=V&&--Q&&A!=R;){if(r[o+J]==r[o+J-N]){for(var b=0;b<q&&r[o+b]==r[o+b-N];++b);if(b>J){if(J=b,I=N,b>m)break;for(var vr=Math.min(N,b-2),p=0,y=0;y<vr;++y){var _=o-N+y+32768&32767,xr=M[_],kr=_-xr+32768&32767;kr>p&&(p=kr,R=_)}}}A=R,R=M[A],N+=A-R+32768&32767}if(I){x[K++]=268435456|wr[J]<<18|Tr[I];var yr=wr[J]&31,Cr=Tr[I]&31;P+=fr[yr]+or[Cr],++T[257+yr],++S[Cr],j=o+J,++l}else x[K++]=r[o],++T[r[o]]}}t=zr(r,f,i,x,T,S,P,K,z,o-z,t)}return Sr(h,0,n+Mr(t)+v)},mr=function(){var r=1,e=0;return{p:function(a){for(var n=r,v=e,i=a.length,u=0;u!=i;){for(var h=Math.min(u+5552,i);u<h;++u)n+=a[u],v+=n;n%=65521,v%=65521}r=n,e=v},d:function(){return(r>>>8<<16|(e&255)<<8|e>>>8)+((r&255)<<23)*2}}},Gr=function(r,e,a,n,v){return Pr(r,e.level==null?6:e.level,e.mem==null?Math.ceil(Math.max(8,Math.min(13,Math.log(r.length)))*1.5):12+e.mem,a,n,!0)},Hr=function(r,e,a){for(;a;++e)r[e]=a,a>>>=8},Ir=function(r,e){var a=e.level,n=a==0?0:a<6?1:a==9?3:2;r[0]=120,r[1]=n<<6|(n?32-2*n:1)},Qr=function(r){if((r[0]&15)!=8||r[0]>>>4>7||(r[0]<<8|r[1])%31)throw"invalid zlib data";if(r[1]&32)throw"invalid zlib data: preset dictionaries not supported"};function Vr(r,e){e===void 0&&(e={});var a=mr();a.p(r);var n=Gr(r,e,2,4);return Ir(n,e),Hr(n,n.length-4,a.d()),n}function Wr(r,e){return $r((Qr(r),r.subarray(2,-4)),e)}function Xr(r,e){var a=r.length;if(!e&&typeof TextEncoder<"u")return new TextEncoder().encode(r);for(var n=new E(r.length+(r.length>>>1)),v=0,i=function(t){n[v++]=t},u=0;u<a;++u){if(v+5>n.length){var h=new E(v+8+(a-u<<1));h.set(n),n=h}var f=r.charCodeAt(u);f<128||e?i(f):f<2048?(i(192|f>>>6),i(128|f&63)):f>55295&&f<57344?(f=65536+(f&1047552)|r.charCodeAt(++u)&1023,i(240|f>>>18),i(128|f>>>12&63),i(128|f>>>6&63),i(128|f&63)):(i(224|f>>>12),i(128|f>>>6&63),i(128|f&63))}return Sr(n,0,v)}function Yr(r,e){var a="";if(!e&&typeof TextDecoder<"u")return new TextDecoder().decode(r);for(var n=0;n<r.length;){var v=r[n++];v<128||e?a+=String.fromCharCode(v):v<224?a+=String.fromCharCode((v&31)<<6|r[n++]&63):v<240?a+=String.fromCharCode((v&15)<<12|(r[n++]&63)<<6|r[n++]&63):(v=((v&15)<<18|(r[n++]&63)<<12|(r[n++]&63)<<6|r[n++]&63)-65536,a+=String.fromCharCode(55296|v>>10,56320|v&1023))}return a}var Zr="v1";L.MARK=Zr;L.strFromU8=Yr;L.strToU8=Xr;L.unzlibSync=Wr;L.zlibSync=Vr});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var nr=Or(),jr=r=>{if(typeof r!="string")return r;try{let e=JSON.parse(r);if(e.timestamp)return e}catch{}try{let e=JSON.parse(nr.strFromU8(nr.unzlibSync(nr.strToU8(r,!0))));if(e.v===nr.MARK)return e;throw new Error(`These events were packed with packer ${e.v} which is incompatible with current packer ${nr.MARK}.`)}catch(e){throw console.error(e),new Error("Unknown data format.")}};exports.unpack=jr; ;if (typeof module.exports == "object" && typeof exports == "object") { var __cp = (to, from, except, desc) => { if ((from && typeof from === "object") || typeof from === "function") { for (let key of Object.getOwnPropertyNames(from)) { if (!Object.prototype.hasOwnProperty.call(to, key) && key !== except) Object.defineProperty(to, key, { get: () => from[key], enumerable: !(desc = Object.getOwnPropertyDescriptor(from, key)) || desc.enumerable, }); } } return to; }; module.exports = __cp(module.exports, exports); } return module.exports; })) //# sourceMappingURL=unpack.umd.min.cjs.map