@highlight-run/rrweb 2.0.5 → 2.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/dist/plugins/console-record.js +1 -1
  2. package/dist/plugins/console-record.min.js +1 -1
  3. package/dist/plugins/console-record.min.js.map +1 -1
  4. package/dist/plugins/console-replay.min.js.map +1 -1
  5. package/dist/record/rrweb-record-pack.min.js.map +1 -1
  6. package/dist/record/rrweb-record.js +3 -3
  7. package/dist/record/rrweb-record.min.js +3 -3
  8. package/dist/record/rrweb-record.min.js.map +1 -1
  9. package/dist/replay/rrweb-replay-unpack.js +4 -4
  10. package/dist/replay/rrweb-replay-unpack.min.js +4 -4
  11. package/dist/replay/rrweb-replay-unpack.min.js.map +1 -1
  12. package/dist/replay/rrweb-replay.js +3 -3
  13. package/dist/replay/rrweb-replay.min.js +3 -3
  14. package/dist/replay/rrweb-replay.min.js.map +1 -1
  15. package/dist/rrweb-all.js +12 -12
  16. package/dist/rrweb-all.min.js +12 -12
  17. package/dist/rrweb-all.min.js.map +1 -1
  18. package/dist/rrweb.js +5 -5
  19. package/dist/rrweb.min.js +5 -5
  20. package/dist/rrweb.min.js.map +1 -1
  21. package/es/rrweb/packages/rrweb/src/record/mutation.js +23 -11
  22. package/es/rrweb/packages/rrweb/src/record/observer.js +6 -6
  23. package/es/rrweb/packages/rrweb/src/record/observers/canvas/2d.js +1 -1
  24. package/es/rrweb/packages/rrweb/src/record/observers/canvas/canvas.js +2 -2
  25. package/es/rrweb/packages/rrweb/src/record/observers/canvas/webgl.js +1 -2
  26. package/es/rrweb/packages/rrweb/src/utils.js +16 -23
  27. package/es/rrweb/packages/rrweb-snapshot/es/rrweb-snapshot.js +278 -241
  28. package/lib/record/rrweb-record.js +325 -284
  29. package/lib/rrweb-all.js +325 -284
  30. package/lib/rrweb.js +325 -284
  31. package/package.json +4 -4
  32. package/typings/utils.d.ts +1 -1
@@ -9,4 +9,4 @@ or you can use record.mirror to access the mirror instance during recording.`;le
9
9
  `),t=[];for(let i=2,c=n.length;i<c;i+=2){const s=r.exec(n[i]);s&&t.push(new m({fileName:s[2],lineNumber:parseFloat(s[1])}))}return t},parseOpera10:function(e){const r=/Line (\d+).*script (?:in )?(\S+)(?:: In function (\S+))?$/i,n=e.stacktrace.split(`
10
10
  `),t=[];for(let i=0,c=n.length;i<c;i+=2){const s=r.exec(n[i]);s&&t.push(new m({functionName:s[3]||void 0,fileName:s[2],lineNumber:parseFloat(s[1])}))}return t},parseOpera11:function(e){return e.stack.split(`
11
11
  `).filter(function(r){return!!r.match(S)&&!r.match(/^Error created at/)},this).map(function(r){const n=r.split("@"),t=this.extractLocation(n.pop()),i=(n.shift()||"").replace(/<anonymous function(: (\w+))?>/,"$2").replace(/\([^)]*\)/g,"")||void 0;return new m({functionName:i,fileName:t[0],lineNumber:t[1],columnNumber:t[2]})},this)}};function T(e){if(!e||!e.outerHTML)return"";let r="";for(;e.parentElement;){let n=e.localName;if(!n)break;n=n.toLowerCase();const t=e.parentElement,i=[];if(t.children&&t.children.length>0)for(let c=0;c<t.children.length;c++){const s=t.children[c];s.localName&&s.localName.toLowerCase&&s.localName.toLowerCase()===n&&i.push(s)}i.length>1&&(n+=":eq("+i.indexOf(e)+")"),r=n+(r?">"+r:""),e=t}return r}function N(e){return Object.prototype.toString.call(e)==="[object Object]"}function E(e,r){if(r===0)return!0;const n=Object.keys(e);for(const t of n)if(N(e[t])&&E(e[t],r-1))return!0;return!1}function y(e,r){const n={numOfKeysLimit:50,depthOfLimit:4};Object.assign(n,r);const t=[],i=[];return JSON.stringify(e,function(a,o){if(t.length>0){const l=t.indexOf(this);~l?t.splice(l+1):t.push(this),~l?i.splice(l,1/0,a):i.push(a),~t.indexOf(o)&&(t[0]===o?o="[Circular ~]":o="[Circular ~."+i.slice(0,t.indexOf(o)).join(".")+"]")}else t.push(o);if(o==null)return o;if(c(o))return s(o);if(o instanceof Event){const l={};for(const f in o){const u=o[f];Array.isArray(u)?l[f]=T(u.length?u[0]:null):l[f]=u}return l}else{if(o instanceof Node)return o instanceof HTMLElement?o?o.outerHTML:"":o.nodeName;if(o instanceof Error)return o.stack?o.stack+`
12
- End of stack for Error object`:o.name+": "+o.message}return o});function c(a){return!!(N(a)&&Object.keys(a).length>n.numOfKeysLimit||typeof a=="function"||N(a)&&E(a,n.depthOfLimit))}function s(a){let o=a.toString();return n.stringLengthLimit&&o.length>n.stringLengthLimit&&(o=`${o.slice(0,n.stringLengthLimit)}...`),o}}const k={level:["assert","clear","count","countReset","debug","dir","dirxml","error","group","groupCollapsed","groupEnd","info","log","table","time","timeEnd","timeLog","trace","warn"],lengthThreshold:1e3,logger:"console"};function $(e,r,n){const t=n.logger;if(!t)return()=>{};let i;typeof t=="string"?i=r[t]:i=t;let c=0;const s=[];if(n.level.includes("error")&&window){const o=l=>{const{message:f,error:u}=l,d=L.parse(u).map(h=>h.toString()),w=[y(f,n.stringifyOptions)];e({level:"error",trace:d,payload:w})};window.addEventListener("error",o),s.push(()=>{window&&window.removeEventListener("error",o)})}for(const o of n.level)s.push(a(i,o));return()=>{s.forEach(o=>o())};function a(o,l){return o[l]?C(o,l,f=>(...u)=>{f.apply(this,u);try{const d=L.parse(new Error).map(h=>h.toString()).splice(1),w=u.map(h=>y(h,n.stringifyOptions));c++,c<n.lengthThreshold?e({level:l,trace:d,payload:w}):c===n.lengthThreshold&&e({level:"warn",trace:[],payload:[y("The number of log records reached the threshold.")]})}catch(d){f("rrweb logger error:",d,...u)}}):()=>{}}}const x="rrweb/console@1",P=e=>({name:x,observer:$,options:e?Object.assign({},k,e):k});return g.PLUGIN_NAME=x,g.getRecordConsolePlugin=P,Object.defineProperty(g,"__esModule",{value:!0}),g}({});
12
+ End of stack for Error object`:o.name+": "+o.message}return o});function c(a){return!!(N(a)&&Object.keys(a).length>n.numOfKeysLimit||typeof a=="function"||N(a)&&E(a,n.depthOfLimit))}function s(a){let o=a.toString();return n.stringLengthLimit&&o.length>n.stringLengthLimit&&(o=`${o.slice(0,n.stringLengthLimit)}...`),o}}const x={level:["assert","clear","count","countReset","debug","dir","dirxml","error","group","groupCollapsed","groupEnd","info","log","table","time","timeEnd","timeLog","trace","warn"],lengthThreshold:1e3,logger:"console"};function $(e,r,n){const t=n.logger;if(!t)return()=>{};let i;typeof t=="string"?i=r[t]:i=t;let c=0;const s=[];if(n.level.includes("error")&&window){const o=l=>{const{message:f,error:u}=l,d=L.parse(u).map(h=>h.toString()),w=[y(f,n.stringifyOptions)];e({level:"error",trace:d,payload:w})};window.addEventListener("error",o),s.push(()=>{window&&window.removeEventListener("error",o)})}for(const o of n.level)s.push(a(i,o));return()=>{s.forEach(o=>o())};function a(o,l){return o[l]?C(o,l,f=>(...u)=>{f.apply(this,u);try{const d=L.parse(new Error).map(h=>h.toString()).splice(1),w=u.map(h=>y(h,n.stringifyOptions));c++,c<n.lengthThreshold?e({level:l,trace:d,payload:w}):c===n.lengthThreshold&&e({level:"warn",trace:[],payload:[y("The number of log records reached the threshold.")]})}catch(d){f("rrweb logger error:",d,...u)}}):()=>{}}}const k="rrweb/console@1",P=e=>({name:k,observer:$,options:e?Object.assign({},x,e):x});return g.PLUGIN_NAME=k,g.getRecordConsolePlugin=P,Object.defineProperty(g,"__esModule",{value:!0}),g}({});
@@ -9,5 +9,5 @@ or you can use record.mirror to access the mirror instance during recording.`;le
9
9
  `),t=[];for(let i=2,c=n.length;i<c;i+=2){const s=r.exec(n[i]);s&&t.push(new m({fileName:s[2],lineNumber:parseFloat(s[1])}))}return t},parseOpera10:function(e){const r=/Line (\d+).*script (?:in )?(\S+)(?:: In function (\S+))?$/i,n=e.stacktrace.split(`
10
10
  `),t=[];for(let i=0,c=n.length;i<c;i+=2){const s=r.exec(n[i]);s&&t.push(new m({functionName:s[3]||void 0,fileName:s[2],lineNumber:parseFloat(s[1])}))}return t},parseOpera11:function(e){return e.stack.split(`
11
11
  `).filter(function(r){return!!r.match(S)&&!r.match(/^Error created at/)},this).map(function(r){const n=r.split("@"),t=this.extractLocation(n.pop()),i=(n.shift()||"").replace(/<anonymous function(: (\w+))?>/,"$2").replace(/\([^)]*\)/g,"")||void 0;return new m({functionName:i,fileName:t[0],lineNumber:t[1],columnNumber:t[2]})},this)}};function T(e){if(!e||!e.outerHTML)return"";let r="";for(;e.parentElement;){let n=e.localName;if(!n)break;n=n.toLowerCase();const t=e.parentElement,i=[];if(t.children&&t.children.length>0)for(let c=0;c<t.children.length;c++){const s=t.children[c];s.localName&&s.localName.toLowerCase&&s.localName.toLowerCase()===n&&i.push(s)}i.length>1&&(n+=":eq("+i.indexOf(e)+")"),r=n+(r?">"+r:""),e=t}return r}function N(e){return Object.prototype.toString.call(e)==="[object Object]"}function E(e,r){if(r===0)return!0;const n=Object.keys(e);for(const t of n)if(N(e[t])&&E(e[t],r-1))return!0;return!1}function y(e,r){const n={numOfKeysLimit:50,depthOfLimit:4};Object.assign(n,r);const t=[],i=[];return JSON.stringify(e,function(a,o){if(t.length>0){const l=t.indexOf(this);~l?t.splice(l+1):t.push(this),~l?i.splice(l,1/0,a):i.push(a),~t.indexOf(o)&&(t[0]===o?o="[Circular ~]":o="[Circular ~."+i.slice(0,t.indexOf(o)).join(".")+"]")}else t.push(o);if(o==null)return o;if(c(o))return s(o);if(o instanceof Event){const l={};for(const f in o){const u=o[f];Array.isArray(u)?l[f]=T(u.length?u[0]:null):l[f]=u}return l}else{if(o instanceof Node)return o instanceof HTMLElement?o?o.outerHTML:"":o.nodeName;if(o instanceof Error)return o.stack?o.stack+`
12
- End of stack for Error object`:o.name+": "+o.message}return o});function c(a){return!!(N(a)&&Object.keys(a).length>n.numOfKeysLimit||typeof a=="function"||N(a)&&E(a,n.depthOfLimit))}function s(a){let o=a.toString();return n.stringLengthLimit&&o.length>n.stringLengthLimit&&(o=`${o.slice(0,n.stringLengthLimit)}...`),o}}const k={level:["assert","clear","count","countReset","debug","dir","dirxml","error","group","groupCollapsed","groupEnd","info","log","table","time","timeEnd","timeLog","trace","warn"],lengthThreshold:1e3,logger:"console"};function $(e,r,n){const t=n.logger;if(!t)return()=>{};let i;typeof t=="string"?i=r[t]:i=t;let c=0;const s=[];if(n.level.includes("error")&&window){const o=l=>{const{message:f,error:u}=l,d=L.parse(u).map(h=>h.toString()),w=[y(f,n.stringifyOptions)];e({level:"error",trace:d,payload:w})};window.addEventListener("error",o),s.push(()=>{window&&window.removeEventListener("error",o)})}for(const o of n.level)s.push(a(i,o));return()=>{s.forEach(o=>o())};function a(o,l){return o[l]?C(o,l,f=>(...u)=>{f.apply(this,u);try{const d=L.parse(new Error).map(h=>h.toString()).splice(1),w=u.map(h=>y(h,n.stringifyOptions));c++,c<n.lengthThreshold?e({level:l,trace:d,payload:w}):c===n.lengthThreshold&&e({level:"warn",trace:[],payload:[y("The number of log records reached the threshold.")]})}catch(d){f("rrweb logger error:",d,...u)}}):()=>{}}}const x="rrweb/console@1",P=e=>({name:x,observer:$,options:e?Object.assign({},k,e):k});return g.PLUGIN_NAME=x,g.getRecordConsolePlugin=P,Object.defineProperty(g,"__esModule",{value:!0}),g}({});
12
+ End of stack for Error object`:o.name+": "+o.message}return o});function c(a){return!!(N(a)&&Object.keys(a).length>n.numOfKeysLimit||typeof a=="function"||N(a)&&E(a,n.depthOfLimit))}function s(a){let o=a.toString();return n.stringLengthLimit&&o.length>n.stringLengthLimit&&(o=`${o.slice(0,n.stringLengthLimit)}...`),o}}const x={level:["assert","clear","count","countReset","debug","dir","dirxml","error","group","groupCollapsed","groupEnd","info","log","table","time","timeEnd","timeLog","trace","warn"],lengthThreshold:1e3,logger:"console"};function $(e,r,n){const t=n.logger;if(!t)return()=>{};let i;typeof t=="string"?i=r[t]:i=t;let c=0;const s=[];if(n.level.includes("error")&&window){const o=l=>{const{message:f,error:u}=l,d=L.parse(u).map(h=>h.toString()),w=[y(f,n.stringifyOptions)];e({level:"error",trace:d,payload:w})};window.addEventListener("error",o),s.push(()=>{window&&window.removeEventListener("error",o)})}for(const o of n.level)s.push(a(i,o));return()=>{s.forEach(o=>o())};function a(o,l){return o[l]?C(o,l,f=>(...u)=>{f.apply(this,u);try{const d=L.parse(new Error).map(h=>h.toString()).splice(1),w=u.map(h=>y(h,n.stringifyOptions));c++,c<n.lengthThreshold?e({level:l,trace:d,payload:w}):c===n.lengthThreshold&&e({level:"warn",trace:[],payload:[y("The number of log records reached the threshold.")]})}catch(d){f("rrweb logger error:",d,...u)}}):()=>{}}}const k="rrweb/console@1",P=e=>({name:k,observer:$,options:e?Object.assign({},x,e):x});return g.PLUGIN_NAME=k,g.getRecordConsolePlugin=P,Object.defineProperty(g,"__esModule",{value:!0}),g}({});
13
13
  //# sourceMappingURL=console-record.min.js.map