clarity-decode 0.6.32 → 0.6.35

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.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var version$1 = "0.6.32";
5
+ var version$1 = "0.6.35";
6
6
  var version = version$1;
7
7
 
8
8
  function decode$5(tokens) {
@@ -71,6 +71,13 @@ function decode$5(tokens) {
71
71
  variables[tokens[v++]] = typeof tokens[v + 1] == "string" /* String */ ? [tokens[v++]] : tokens[v++];
72
72
  }
73
73
  return { time: time, event: event, data: variables };
74
+ case 40 /* Extract */:
75
+ var e = 2; // Start from 3rd index since first two are used for time & event
76
+ var extract = {};
77
+ while (e < tokens.length) {
78
+ extract[tokens[e++]] = tokens[e++];
79
+ }
80
+ return { time: time, event: event, data: extract };
74
81
  }
75
82
  return null;
76
83
  }
@@ -111,6 +118,13 @@ function decode$4(tokens) {
111
118
  severity: tokens[6]
112
119
  };
113
120
  return { time: time, event: event, data: log };
121
+ case 41 /* Fraud */:
122
+ var fraud = {
123
+ id: tokens[2],
124
+ target: tokens[3],
125
+ hash: tokens[4]
126
+ };
127
+ return { time: time, event: event, data: fraud };
114
128
  }
115
129
  return null;
116
130
  }
@@ -148,7 +162,8 @@ function decode$3(tokens) {
148
162
  text: tokens[10],
149
163
  link: tokens[11],
150
164
  hash: clickHashes[0],
151
- hashBeta: clickHashes.length > 0 ? clickHashes[1] : null
165
+ hashBeta: clickHashes.length > 0 ? clickHashes[1] : null,
166
+ trust: tokens.length > 13 ? tokens[13] : 1 /* True */
152
167
  };
153
168
  return { time: time, event: event, data: clickData };
154
169
  case 38 /* Clipboard */:
@@ -246,17 +261,6 @@ function decode$2(tokens) {
246
261
  regionData.push(region);
247
262
  }
248
263
  return { time: time, event: event, data: regionData };
249
- case 37 /* Box */:
250
- var boxData = [];
251
- for (var i = 2; i < tokens.length; i += 3) {
252
- var box = {
253
- id: tokens[i],
254
- width: tokens[i + 1] / 100 /* BoxPrecision */,
255
- height: tokens[i + 2] / 100 /* BoxPrecision */
256
- };
257
- boxData.push(box);
258
- }
259
- return { time: time, event: event, data: boxData };
260
264
  case 5 /* Discover */:
261
265
  case 6 /* Mutation */:
262
266
  var lastType = null;
@@ -562,10 +566,7 @@ function decode(input) {
562
566
  payload.visibility.push(decode$3(entry));
563
567
  break;
564
568
  case 37 /* Box */:
565
- if (payload.box === undefined) {
566
- payload.box = [];
567
- }
568
- payload.box.push(decode$2(entry));
569
+ /* Deprecated - Intentionally, no-op. For backward compatibility. */
569
570
  break;
570
571
  case 7 /* Region */:
571
572
  if (payload.region === undefined) {
@@ -598,6 +599,12 @@ function decode(input) {
598
599
  }
599
600
  payload.log.push(decode$4(entry));
600
601
  break;
602
+ case 41 /* Fraud */:
603
+ if (payload.fraud === undefined) {
604
+ payload.fraud = [];
605
+ }
606
+ payload.fraud.push(decode$4(entry));
607
+ break;
601
608
  case 29 /* Navigation */:
602
609
  if (payload.navigation === undefined) {
603
610
  payload.navigation = [];
@@ -608,6 +615,12 @@ function decode(input) {
608
615
  case 32 /* ImageError */:
609
616
  /* Deprecated - Intentionally, no-op. For backward compatibility. */
610
617
  break;
618
+ case 40 /* Extract */:
619
+ if (payload.extract === undefined) {
620
+ payload.extract = [];
621
+ }
622
+ payload.extract.push(decode$5(entry));
623
+ break;
611
624
  default:
612
625
  console.error("No handler for Event: ".concat(JSON.stringify(entry)));
613
626
  break;
@@ -1 +1 @@
1
- !function(){"use strict";var e="0.6.32";function t(e){var t=e[0],a=e[1];switch(a){case 25:return{time:t,event:a,data:{gap:e[2]}};case 35:return{time:t,event:a,data:{check:e[2]}};case 24:return{time:t,event:a,data:{key:e[2],value:e[3]}};case 3:return{time:t,event:a,data:{key:e[2]}};case 2:return{time:t,event:a,data:{sequence:e[2],attempts:e[3],status:e[4]}};case 0:for(var r=2,n={};r<e.length;)n[e[r++]]=e[r++];return{time:t,event:a,data:n};case 1:for(var i=2,s={};i<e.length;)s[e[i++]]=e[i++];return{time:t,event:a,data:s};case 36:for(var o=2,c={};o<e.length;){var u=e[o++],l=e[o++];c[u]=[];for(var d=0;d<l.length-1;d+=2)c[u].push([l[d],l[d+1]])}return{time:t,event:a,data:c};case 4:return{time:t,event:a,data:{visible:e[2],docWidth:e[3],docHeight:e[4],screenWidth:e[5],screenHeight:e[6],scrollX:e[7],scrollY:e[8],pointerX:e[9],pointerY:e[10],activityTime:e[11]}};case 34:for(var v=2,p={};v<e.length;)p[e[v++]]="string"==typeof e[v+1]?[e[v++]]:e[v++];return{time:t,event:a,data:p}}return null}function a(e){var t=e[0],a=e[1];switch(a){case 31:return{time:t,event:a,data:{message:e[2],line:e[3],column:e[4],stack:e[5],source:e[6]}};case 33:return{time:t,event:a,data:{code:e[2],name:e[3],message:e[4],stack:e[5],severity:e[6]}}}return null}function r(e){var t=e[0],a=e[1];switch(a){case 13:case 14:case 12:case 15:case 16:case 17:case 20:case 18:case 19:return{time:t,event:a,data:{target:e[2],x:e[3],y:e[4]}};case 9:var r=e[12].split(".");return{time:t,event:a,data:{target:e[2],x:e[3],y:e[4],eX:e[5],eY:e[6],button:e[7],reaction:e[8],context:e[9],text:e[10],link:e[11],hash:r[0],hashBeta:r.length>0?r[1]:null}};case 38:return{time:t,event:a,data:{target:e[2],action:e[3]}};case 11:return{time:t,event:a,data:{width:e[2],height:e[3]}};case 27:return{time:t,event:a,data:{target:e[2],value:e[3]}};case 21:return{time:t,event:a,data:{start:e[2],startOffset:e[3],end:e[4],endOffset:e[5]}};case 39:return{time:t,event:a,data:{target:e[2]}};case 10:return{time:t,event:a,data:{target:e[2],x:e[3],y:e[4]}};case 22:var n=e[3].split(".");return{time:t,event:a,data:{type:e[2],hash:n[0],x:e[4],y:e[5],reaction:e[6],context:e[7],hashBeta:n.length>0?n[1]:null}};case 28:return{time:t,event:a,data:{visible:e[2]}};case 26:return{time:t,event:a,data:{name:e[2]}}}return null}function n(e){var t=e[0],a=e[1];switch(a){case 8:return{time:t,event:a,data:{width:e[2],height:e[3]}};case 7:for(var r=[],n=void 0,s=2;s<e.length;s+=n){var o=void 0;if("number"==typeof e[s+2])o={id:e[s],interaction:e[s+1],visibility:e[s+2],name:e[s+3]},n=4;else{var c=e[s+1];o={id:e[s],interaction:c>=16?c:16,visibility:c<=13?c:0,name:e[s+2]},n=3}r.push(o)}return{time:t,event:a,data:r};case 37:var u=[];for(s=2;s<e.length;s+=3){var l={id:e[s],width:e[s+1]/100,height:e[s+2]/100};u.push(l)}return{time:t,event:a,data:u};case 5:case 6:var d=null,v=[],p=0,h=[];for(s=2;s<e.length;s++){var m=e[s],b=typeof m;switch(b){case"number":b!==d&&null!==d&&(h.push(i(v,p)),v=[],p=0),v.push(m),p++;break;case"string":v.push(m);break;case"object":if("number"===typeof m[0])for(var g=0,f=m;g<f.length;g++){var k=f[g];v.push(e.length>k?e[k]:null)}}d=b}return h.push(i(v,p)),{time:t,event:a,data:h}}return null}function i(e,t){for(var a=e[t]?e[t].split("~")[0]:e[t],r={id:Math.abs(e[0]),parent:t>1?e[1]:null,previous:t>2?e[2]:null,tag:a},n=e[0]<0,i=!1,c={},u=null,l=t+1;l<e.length;l++){var d=e[l].toString(),v=d.indexOf("="),p=d[0],h=d[d.length-1];if(l===e.length-1&&"STYLE"===r.tag)u=d;else if("*T"!==r.tag&&">"===h&&-1===v);else if("*T"!==r.tag&&"#"===p&&-1===v){var m=d.substr(1).split(".");2===m.length&&(r.width=s(m[0])/100,r.height=s(m[1])/100)}else if("*T"!==r.tag&&v>0){i=!0;var b=d.substr(0,v),g=d.substr(v+1);c[b]=g}else"*T"===r.tag&&(u=n?o(d):d)}return i&&(r.attributes=c),u&&(r.value=u),r}function s(e){return e?parseInt(e,36):null}function o(e){var t=e.trim();if(t.length>0&&-1===t.indexOf(" ")){var a=s(t);if(a>0){for(var r=Math.floor(a/6),n=a%6,i=Array(n+1).join("•"),o=0;o<r;o++)i+=(0===o&&0===n?"•":" ")+Array(6).join("•");return i}}return e}function c(e){var t=e[0],a=e[1];return 29===a?{time:t,event:a,data:{fetchStart:e[2],connectStart:e[3],connectEnd:e[4],requestStart:e[5],responseStart:e[6],responseEnd:e[7],domInteractive:e[8],domComplete:e[9],loadEventStart:e[10],loadEventEnd:e[11],redirectCount:e[12],size:e[13],type:e[14],protocol:e[15],encodedSize:e[16],decodedSize:e[17]}}:null}function u(e){var t={major:0,minor:0,patch:0,beta:0},a=e.split(".");if(3===a.length){var r=a[2].split("-b");t.major=parseInt(a[0],10),t.minor=parseInt(a[1],10),2===r.length?(t.patch=parseInt(r[0],10),t.beta=parseInt(r[1],10)):t.patch=parseInt(a[2],10)}return t}var l=Object.freeze({__proto__:null,decode:function(i){var s,o=JSON.parse(i),l={version:(s=o.e)[0],sequence:s[1],start:s[2],duration:s[3],projectId:s[4],userId:s[5],sessionId:s[6],pageNum:s[7],upload:s[8],end:s[9]},d={timestamp:Date.now(),envelope:l},v=o.p?o.a.concat(o.p):o.a;v=v.sort((function(e,t){return e[0]-t[0]}));var p=u(d.envelope.version),h=u(e);if(p.major!==h.major||Math.abs(p.minor-h.minor)>1)throw new Error("Invalid version. Actual: ".concat(d.envelope.version," | Expected: ").concat(e," (+/- 1) | ").concat(i.substr(0,250)));for(var m=0,b=v;m<b.length;m++){var g=b[m];switch(g[1]){case 4:void 0===d.baseline&&(d.baseline=[]),d.baseline.push(t(g));break;case 25:void 0===d.ping&&(d.ping=[]),d.ping.push(t(g));break;case 35:void 0===d.limit&&(d.limit=[]),d.limit.push(t(g));break;case 3:void 0===d.upgrade&&(d.upgrade=[]),d.upgrade.push(t(g));break;case 0:void 0===d.metric&&(d.metric=[]);var f=t(g);f.data[2]=i.length,d.metric.push(f);break;case 1:void 0===d.dimension&&(d.dimension=[]),d.dimension.push(t(g));break;case 36:void 0===d.summary&&(d.summary=[]),d.summary.push(t(g));break;case 24:void 0===d.custom&&(d.custom=[]),d.custom.push(t(g));break;case 34:void 0===d.variable&&(d.variable=[]),d.variable.push(t(g));break;case 2:void 0===d.upload&&(d.upload=[]),d.upload.push(t(g));break;case 13:case 14:case 12:case 15:case 16:case 17:case 20:case 18:case 19:void 0===d.pointer&&(d.pointer=[]),d.pointer.push(r(g));break;case 9:void 0===d.click&&(d.click=[]);var k=r(g);d.click.push(k);break;case 38:void 0===d.clipboard&&(d.clipboard=[]);var y=r(g);d.clipboard.push(y);break;case 10:void 0===d.scroll&&(d.scroll=[]),d.scroll.push(r(g));break;case 11:void 0===d.resize&&(d.resize=[]),d.resize.push(r(g));break;case 21:void 0===d.selection&&(d.selection=[]),d.selection.push(r(g));break;case 39:void 0===d.submit&&(d.submit=[]);var w=r(g);d.submit.push(w);break;case 22:void 0===d.timeline&&(d.timeline=[]),d.timeline.push(r(g));break;case 27:void 0===d.input&&(d.input=[]),d.input.push(r(g));break;case 26:void 0===d.unload&&(d.unload=[]),d.unload.push(r(g));break;case 28:void 0===d.visibility&&(d.visibility=[]),d.visibility.push(r(g));break;case 37:void 0===d.box&&(d.box=[]),d.box.push(n(g));break;case 7:void 0===d.region&&(d.region=[]),d.region.push(n(g));break;case 5:case 6:void 0===d.dom&&(d.dom=[]),d.dom.push(n(g));break;case 8:void 0===d.doc&&(d.doc=[]),d.doc.push(n(g));break;case 31:void 0===d.script&&(d.script=[]),d.script.push(a(g));break;case 33:void 0===d.log&&(d.log=[]),d.log.push(a(g));break;case 29:void 0===d.navigation&&(d.navigation=[]),d.navigation.push(c(g));break;case 30:case 32:break;default:console.error("No handler for Event: ".concat(JSON.stringify(g)))}}return d}});"undefined"!=typeof window&&(void 0!==window.clarity&&null!==window.clarity||(window.clarity={}),window.clarity.decode=l)}();
1
+ !function(){"use strict";var e="0.6.35";function t(e){var t=e[0],a=e[1];switch(a){case 25:return{time:t,event:a,data:{gap:e[2]}};case 35:return{time:t,event:a,data:{check:e[2]}};case 24:return{time:t,event:a,data:{key:e[2],value:e[3]}};case 3:return{time:t,event:a,data:{key:e[2]}};case 2:return{time:t,event:a,data:{sequence:e[2],attempts:e[3],status:e[4]}};case 0:for(var r=2,n={};r<e.length;)n[e[r++]]=e[r++];return{time:t,event:a,data:n};case 1:for(var i=2,s={};i<e.length;)s[e[i++]]=e[i++];return{time:t,event:a,data:s};case 36:for(var c=2,o={};c<e.length;){var u=e[c++],d=e[c++];o[u]=[];for(var l=0;l<d.length-1;l+=2)o[u].push([d[l],d[l+1]])}return{time:t,event:a,data:o};case 4:return{time:t,event:a,data:{visible:e[2],docWidth:e[3],docHeight:e[4],screenWidth:e[5],screenHeight:e[6],scrollX:e[7],scrollY:e[8],pointerX:e[9],pointerY:e[10],activityTime:e[11]}};case 34:for(var v=2,p={};v<e.length;)p[e[v++]]="string"==typeof e[v+1]?[e[v++]]:e[v++];return{time:t,event:a,data:p};case 40:for(var h=2,m={};h<e.length;)m[e[h++]]=e[h++];return{time:t,event:a,data:m}}return null}function a(e){var t=e[0],a=e[1];switch(a){case 31:return{time:t,event:a,data:{message:e[2],line:e[3],column:e[4],stack:e[5],source:e[6]}};case 33:return{time:t,event:a,data:{code:e[2],name:e[3],message:e[4],stack:e[5],severity:e[6]}};case 41:return{time:t,event:a,data:{id:e[2],target:e[3],hash:e[4]}}}return null}function r(e){var t=e[0],a=e[1];switch(a){case 13:case 14:case 12:case 15:case 16:case 17:case 20:case 18:case 19:return{time:t,event:a,data:{target:e[2],x:e[3],y:e[4]}};case 9:var r=e[12].split(".");return{time:t,event:a,data:{target:e[2],x:e[3],y:e[4],eX:e[5],eY:e[6],button:e[7],reaction:e[8],context:e[9],text:e[10],link:e[11],hash:r[0],hashBeta:r.length>0?r[1]:null,trust:e.length>13?e[13]:1}};case 38:return{time:t,event:a,data:{target:e[2],action:e[3]}};case 11:return{time:t,event:a,data:{width:e[2],height:e[3]}};case 27:return{time:t,event:a,data:{target:e[2],value:e[3]}};case 21:return{time:t,event:a,data:{start:e[2],startOffset:e[3],end:e[4],endOffset:e[5]}};case 39:return{time:t,event:a,data:{target:e[2]}};case 10:return{time:t,event:a,data:{target:e[2],x:e[3],y:e[4]}};case 22:var n=e[3].split(".");return{time:t,event:a,data:{type:e[2],hash:n[0],x:e[4],y:e[5],reaction:e[6],context:e[7],hashBeta:n.length>0?n[1]:null}};case 28:return{time:t,event:a,data:{visible:e[2]}};case 26:return{time:t,event:a,data:{name:e[2]}}}return null}function n(e){var t=e[0],a=e[1];switch(a){case 8:return{time:t,event:a,data:{width:e[2],height:e[3]}};case 7:for(var r=[],n=void 0,s=2;s<e.length;s+=n){var c=void 0;if("number"==typeof e[s+2])c={id:e[s],interaction:e[s+1],visibility:e[s+2],name:e[s+3]},n=4;else{var o=e[s+1];c={id:e[s],interaction:o>=16?o:16,visibility:o<=13?o:0,name:e[s+2]},n=3}r.push(c)}return{time:t,event:a,data:r};case 5:case 6:var u=null,d=[],l=0,v=[];for(s=2;s<e.length;s++){var p=e[s],h=typeof p;switch(h){case"number":h!==u&&null!==u&&(v.push(i(d,l)),d=[],l=0),d.push(p),l++;break;case"string":d.push(p);break;case"object":if("number"===typeof p[0])for(var m=0,b=p;m<b.length;m++){var g=b[m];d.push(e.length>g?e[g]:null)}}u=h}return v.push(i(d,l)),{time:t,event:a,data:v}}return null}function i(e,t){for(var a=e[t]?e[t].split("~")[0]:e[t],r={id:Math.abs(e[0]),parent:t>1?e[1]:null,previous:t>2?e[2]:null,tag:a},n=e[0]<0,i=!1,o={},u=null,d=t+1;d<e.length;d++){var l=e[d].toString(),v=l.indexOf("="),p=l[0],h=l[l.length-1];if(d===e.length-1&&"STYLE"===r.tag)u=l;else if("*T"!==r.tag&&">"===h&&-1===v);else if("*T"!==r.tag&&"#"===p&&-1===v){var m=l.substr(1).split(".");2===m.length&&(r.width=s(m[0])/100,r.height=s(m[1])/100)}else if("*T"!==r.tag&&v>0){i=!0;var b=l.substr(0,v),g=l.substr(v+1);o[b]=g}else"*T"===r.tag&&(u=n?c(l):l)}return i&&(r.attributes=o),u&&(r.value=u),r}function s(e){return e?parseInt(e,36):null}function c(e){var t=e.trim();if(t.length>0&&-1===t.indexOf(" ")){var a=s(t);if(a>0){for(var r=Math.floor(a/6),n=a%6,i=Array(n+1).join("•"),c=0;c<r;c++)i+=(0===c&&0===n?"•":" ")+Array(6).join("•");return i}}return e}function o(e){var t=e[0],a=e[1];return 29===a?{time:t,event:a,data:{fetchStart:e[2],connectStart:e[3],connectEnd:e[4],requestStart:e[5],responseStart:e[6],responseEnd:e[7],domInteractive:e[8],domComplete:e[9],loadEventStart:e[10],loadEventEnd:e[11],redirectCount:e[12],size:e[13],type:e[14],protocol:e[15],encodedSize:e[16],decodedSize:e[17]}}:null}function u(e){var t={major:0,minor:0,patch:0,beta:0},a=e.split(".");if(3===a.length){var r=a[2].split("-b");t.major=parseInt(a[0],10),t.minor=parseInt(a[1],10),2===r.length?(t.patch=parseInt(r[0],10),t.beta=parseInt(r[1],10)):t.patch=parseInt(a[2],10)}return t}var d=Object.freeze({__proto__:null,decode:function(i){var s,c=JSON.parse(i),d={version:(s=c.e)[0],sequence:s[1],start:s[2],duration:s[3],projectId:s[4],userId:s[5],sessionId:s[6],pageNum:s[7],upload:s[8],end:s[9]},l={timestamp:Date.now(),envelope:d},v=c.p?c.a.concat(c.p):c.a;v=v.sort((function(e,t){return e[0]-t[0]}));var p=u(l.envelope.version),h=u(e);if(p.major!==h.major||Math.abs(p.minor-h.minor)>1)throw new Error("Invalid version. Actual: ".concat(l.envelope.version," | Expected: ").concat(e," (+/- 1) | ").concat(i.substr(0,250)));for(var m=0,b=v;m<b.length;m++){var g=b[m];switch(g[1]){case 4:void 0===l.baseline&&(l.baseline=[]),l.baseline.push(t(g));break;case 25:void 0===l.ping&&(l.ping=[]),l.ping.push(t(g));break;case 35:void 0===l.limit&&(l.limit=[]),l.limit.push(t(g));break;case 3:void 0===l.upgrade&&(l.upgrade=[]),l.upgrade.push(t(g));break;case 0:void 0===l.metric&&(l.metric=[]);var f=t(g);f.data[2]=i.length,l.metric.push(f);break;case 1:void 0===l.dimension&&(l.dimension=[]),l.dimension.push(t(g));break;case 36:void 0===l.summary&&(l.summary=[]),l.summary.push(t(g));break;case 24:void 0===l.custom&&(l.custom=[]),l.custom.push(t(g));break;case 34:void 0===l.variable&&(l.variable=[]),l.variable.push(t(g));break;case 2:void 0===l.upload&&(l.upload=[]),l.upload.push(t(g));break;case 13:case 14:case 12:case 15:case 16:case 17:case 20:case 18:case 19:void 0===l.pointer&&(l.pointer=[]),l.pointer.push(r(g));break;case 9:void 0===l.click&&(l.click=[]);var k=r(g);l.click.push(k);break;case 38:void 0===l.clipboard&&(l.clipboard=[]);var y=r(g);l.clipboard.push(y);break;case 10:void 0===l.scroll&&(l.scroll=[]),l.scroll.push(r(g));break;case 11:void 0===l.resize&&(l.resize=[]),l.resize.push(r(g));break;case 21:void 0===l.selection&&(l.selection=[]),l.selection.push(r(g));break;case 39:void 0===l.submit&&(l.submit=[]);var w=r(g);l.submit.push(w);break;case 22:void 0===l.timeline&&(l.timeline=[]),l.timeline.push(r(g));break;case 27:void 0===l.input&&(l.input=[]),l.input.push(r(g));break;case 26:void 0===l.unload&&(l.unload=[]),l.unload.push(r(g));break;case 28:void 0===l.visibility&&(l.visibility=[]),l.visibility.push(r(g));break;case 37:case 30:case 32:break;case 7:void 0===l.region&&(l.region=[]),l.region.push(n(g));break;case 5:case 6:void 0===l.dom&&(l.dom=[]),l.dom.push(n(g));break;case 8:void 0===l.doc&&(l.doc=[]),l.doc.push(n(g));break;case 31:void 0===l.script&&(l.script=[]),l.script.push(a(g));break;case 33:void 0===l.log&&(l.log=[]),l.log.push(a(g));break;case 41:void 0===l.fraud&&(l.fraud=[]),l.fraud.push(a(g));break;case 29:void 0===l.navigation&&(l.navigation=[]),l.navigation.push(o(g));break;case 40:void 0===l.extract&&(l.extract=[]),l.extract.push(t(g));break;default:console.error("No handler for Event: ".concat(JSON.stringify(g)))}}return l}});"undefined"!=typeof window&&(void 0!==window.clarity&&null!==window.clarity||(window.clarity={}),window.clarity.decode=d)}();
@@ -1,4 +1,4 @@
1
- var version$1 = "0.6.32";
1
+ var version$1 = "0.6.35";
2
2
  var version = version$1;
3
3
 
4
4
  function decode$5(tokens) {
@@ -67,6 +67,13 @@ function decode$5(tokens) {
67
67
  variables[tokens[v++]] = typeof tokens[v + 1] == "string" /* String */ ? [tokens[v++]] : tokens[v++];
68
68
  }
69
69
  return { time: time, event: event, data: variables };
70
+ case 40 /* Extract */:
71
+ var e = 2; // Start from 3rd index since first two are used for time & event
72
+ var extract = {};
73
+ while (e < tokens.length) {
74
+ extract[tokens[e++]] = tokens[e++];
75
+ }
76
+ return { time: time, event: event, data: extract };
70
77
  }
71
78
  return null;
72
79
  }
@@ -107,6 +114,13 @@ function decode$4(tokens) {
107
114
  severity: tokens[6]
108
115
  };
109
116
  return { time: time, event: event, data: log };
117
+ case 41 /* Fraud */:
118
+ var fraud = {
119
+ id: tokens[2],
120
+ target: tokens[3],
121
+ hash: tokens[4]
122
+ };
123
+ return { time: time, event: event, data: fraud };
110
124
  }
111
125
  return null;
112
126
  }
@@ -144,7 +158,8 @@ function decode$3(tokens) {
144
158
  text: tokens[10],
145
159
  link: tokens[11],
146
160
  hash: clickHashes[0],
147
- hashBeta: clickHashes.length > 0 ? clickHashes[1] : null
161
+ hashBeta: clickHashes.length > 0 ? clickHashes[1] : null,
162
+ trust: tokens.length > 13 ? tokens[13] : 1 /* True */
148
163
  };
149
164
  return { time: time, event: event, data: clickData };
150
165
  case 38 /* Clipboard */:
@@ -242,17 +257,6 @@ function decode$2(tokens) {
242
257
  regionData.push(region);
243
258
  }
244
259
  return { time: time, event: event, data: regionData };
245
- case 37 /* Box */:
246
- var boxData = [];
247
- for (var i = 2; i < tokens.length; i += 3) {
248
- var box = {
249
- id: tokens[i],
250
- width: tokens[i + 1] / 100 /* BoxPrecision */,
251
- height: tokens[i + 2] / 100 /* BoxPrecision */
252
- };
253
- boxData.push(box);
254
- }
255
- return { time: time, event: event, data: boxData };
256
260
  case 5 /* Discover */:
257
261
  case 6 /* Mutation */:
258
262
  var lastType = null;
@@ -558,10 +562,7 @@ function decode(input) {
558
562
  payload.visibility.push(decode$3(entry));
559
563
  break;
560
564
  case 37 /* Box */:
561
- if (payload.box === undefined) {
562
- payload.box = [];
563
- }
564
- payload.box.push(decode$2(entry));
565
+ /* Deprecated - Intentionally, no-op. For backward compatibility. */
565
566
  break;
566
567
  case 7 /* Region */:
567
568
  if (payload.region === undefined) {
@@ -594,6 +595,12 @@ function decode(input) {
594
595
  }
595
596
  payload.log.push(decode$4(entry));
596
597
  break;
598
+ case 41 /* Fraud */:
599
+ if (payload.fraud === undefined) {
600
+ payload.fraud = [];
601
+ }
602
+ payload.fraud.push(decode$4(entry));
603
+ break;
597
604
  case 29 /* Navigation */:
598
605
  if (payload.navigation === undefined) {
599
606
  payload.navigation = [];
@@ -604,6 +611,12 @@ function decode(input) {
604
611
  case 32 /* ImageError */:
605
612
  /* Deprecated - Intentionally, no-op. For backward compatibility. */
606
613
  break;
614
+ case 40 /* Extract */:
615
+ if (payload.extract === undefined) {
616
+ payload.extract = [];
617
+ }
618
+ payload.extract.push(decode$5(entry));
619
+ break;
607
620
  default:
608
621
  console.error("No handler for Event: ".concat(JSON.stringify(entry)));
609
622
  break;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clarity-decode",
3
- "version": "0.6.32",
3
+ "version": "0.6.35",
4
4
  "description": "An analytics library that uses web page interactions to generate aggregated insights",
5
5
  "author": "Microsoft Corp.",
6
6
  "license": "MIT",
@@ -26,7 +26,7 @@
26
26
  "url": "https://github.com/Microsoft/clarity/issues"
27
27
  },
28
28
  "dependencies": {
29
- "clarity-js": "^0.6.32"
29
+ "clarity-js": "^0.6.35"
30
30
  },
31
31
  "devDependencies": {
32
32
  "@rollup/plugin-commonjs": "^19.0.1",
package/src/clarity.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  import { Data, version } from "clarity-js";
2
2
  import { BaselineEvent, CustomEvent, DecodedPayload, DecodedVersion, DimensionEvent } from "../types/data";
3
- import { LimitEvent, MetricEvent, PingEvent, SummaryEvent, UpgradeEvent, UploadEvent, VariableEvent } from "../types/data";
4
- import { LogEvent, ScriptErrorEvent } from "../types/diagnostic";
3
+ import { LimitEvent, MetricEvent, PingEvent, SummaryEvent, UpgradeEvent, UploadEvent, VariableEvent, ExtractEvent } from "../types/data";
4
+ import { FraudEvent, LogEvent, ScriptErrorEvent } from "../types/diagnostic";
5
5
  import { ClickEvent, ClipboardEvent, InputEvent, PointerEvent, ResizeEvent, ScrollEvent, SubmitEvent, TimelineEvent } from "../types/interaction";
6
6
  import { SelectionEvent, UnloadEvent, VisibilityEvent } from "../types/interaction";
7
- import { BoxEvent, DocumentEvent, DomEvent, RegionEvent } from "../types/layout";
7
+ import { DocumentEvent, DomEvent, RegionEvent } from "../types/layout";
8
8
  import { NavigationEvent } from "../types/performance";
9
9
 
10
10
  import * as data from "./data";
@@ -140,8 +140,7 @@ export function decode(input: string): DecodedPayload {
140
140
  payload.visibility.push(interaction.decode(entry) as VisibilityEvent);
141
141
  break;
142
142
  case Data.Event.Box:
143
- if (payload.box === undefined) { payload.box = []; }
144
- payload.box.push(layout.decode(entry) as BoxEvent);
143
+ /* Deprecated - Intentionally, no-op. For backward compatibility. */
145
144
  break;
146
145
  case Data.Event.Region:
147
146
  if (payload.region === undefined) { payload.region = []; }
@@ -164,6 +163,10 @@ export function decode(input: string): DecodedPayload {
164
163
  if (payload.log === undefined) { payload.log = []; }
165
164
  payload.log.push(diagnostic.decode(entry) as LogEvent);
166
165
  break;
166
+ case Data.Event.Fraud:
167
+ if (payload.fraud === undefined) { payload.fraud = []; }
168
+ payload.fraud.push(diagnostic.decode(entry) as FraudEvent);
169
+ break;
167
170
  case Data.Event.Navigation:
168
171
  if (payload.navigation === undefined) { payload.navigation = []; }
169
172
  payload.navigation.push(performance.decode(entry) as NavigationEvent);
@@ -172,6 +175,10 @@ export function decode(input: string): DecodedPayload {
172
175
  case Data.Event.ImageError:
173
176
  /* Deprecated - Intentionally, no-op. For backward compatibility. */
174
177
  break;
178
+ case Data.Event.Extract:
179
+ if (payload.extract === undefined) { payload.extract = []; }
180
+ payload.extract.push(data.decode(entry) as ExtractEvent);
181
+ break;
175
182
  default:
176
183
  console.error(`No handler for Event: ${JSON.stringify(entry)}`);
177
184
  break;
package/src/data.ts CHANGED
@@ -67,6 +67,13 @@ export function decode(tokens: Data.Token[]): DataEvent {
67
67
  variables[tokens[v++] as string] = typeof tokens[v + 1] == Constant.String ? [tokens[v++] as string] : tokens[v++] as string[];
68
68
  }
69
69
  return { time, event, data: variables };
70
+ case Data.Event.Extract:
71
+ let e = 2; // Start from 3rd index since first two are used for time & event
72
+ let extract: Data.ExtractData = {};
73
+ while (e < tokens.length) {
74
+ extract[tokens[e++] as string | number] = tokens[e++] as string;
75
+ }
76
+ return { time, event, data: extract };
70
77
  }
71
78
  return null;
72
79
  }
package/src/diagnostic.ts CHANGED
@@ -23,6 +23,13 @@ export function decode(tokens: Data.Token[]): DiagnosticEvent {
23
23
  severity: tokens[6] as number
24
24
  };
25
25
  return { time, event, data: log };
26
+ case Data.Event.Fraud:
27
+ let fraud: Diagnostic.FraudData = {
28
+ id: tokens[2] as number,
29
+ target: tokens[3] as number,
30
+ hash: tokens[4] as string
31
+ };
32
+ return { time, event, data: fraud };
26
33
  }
27
34
  return null;
28
35
  }
@@ -34,7 +34,8 @@ export function decode(tokens: Data.Token[]): InteractionEvent {
34
34
  text: tokens[10] as string,
35
35
  link: tokens[11] as string,
36
36
  hash: clickHashes[0],
37
- hashBeta: clickHashes.length > 0 ? clickHashes[1] : null
37
+ hashBeta: clickHashes.length > 0 ? clickHashes[1] : null,
38
+ trust: tokens.length > 13 ? tokens[13] as number : Data.BooleanFlag.True
38
39
  };
39
40
  return { time, event, data: clickData };
40
41
  case Data.Event.Clipboard:
package/src/layout.ts CHANGED
@@ -44,17 +44,6 @@ export function decode(tokens: Data.Token[]): LayoutEvent {
44
44
  regionData.push(region);
45
45
  }
46
46
  return { time, event, data: regionData };
47
- case Data.Event.Box:
48
- let boxData: Layout.BoxData[] = [];
49
- for (let i = 2; i < tokens.length; i += 3) {
50
- let box: Layout.BoxData = {
51
- id: tokens[i] as number,
52
- width: tokens[i + 1] as number / Data.Setting.BoxPrecision,
53
- height: tokens[i + 2] as number / Data.Setting.BoxPrecision
54
- };
55
- boxData.push(box);
56
- }
57
- return { time, event, data: boxData };
58
47
  case Data.Event.Discover:
59
48
  case Data.Event.Mutation:
60
49
  let lastType = null;
package/types/data.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import { Data } from "clarity-js";
2
- import { DiagnosticEvent, LogEvent, ScriptErrorEvent } from "./diagnostic";
2
+ import { DiagnosticEvent, FraudEvent, LogEvent, ScriptErrorEvent } from "./diagnostic";
3
3
  import { ClickEvent, ClipboardEvent, InputEvent, InteractionEvent, PointerEvent, ResizeEvent, SubmitEvent } from "./interaction";
4
4
  import { ScrollEvent, SelectionEvent, TimelineEvent, UnloadEvent, VisibilityEvent } from "./interaction";
5
- import { BoxEvent, DocumentEvent, DomEvent, LayoutEvent, RegionEvent } from "./layout";
5
+ import { DocumentEvent, DomEvent, LayoutEvent, RegionEvent } from "./layout";
6
6
  import { NavigationEvent, PerformanceEvent } from "./performance";
7
7
  import { PartialEvent } from "./core";
8
8
 
@@ -28,6 +28,7 @@ export interface LimitEvent extends PartialEvent { data: Data.LimitData; }
28
28
  export interface SummaryEvent extends PartialEvent { data: Data.SummaryData; }
29
29
  export interface UpgradeEvent extends PartialEvent { data: Data.UpgradeData; }
30
30
  export interface UploadEvent extends PartialEvent { data: Data.UploadData; }
31
+ export interface ExtractEvent extends PartialEvent { data: Data.ExtractData; }
31
32
  export interface DataEvent extends PartialEvent {
32
33
  data: Data.BaselineData |
33
34
  Data.DimensionData |
@@ -38,7 +39,8 @@ export interface DataEvent extends PartialEvent {
38
39
  Data.LimitData |
39
40
  Data.SummaryData |
40
41
  Data.UpgradeData |
41
- Data.UploadData;
42
+ Data.UploadData |
43
+ Data.ExtractData;
42
44
  }
43
45
 
44
46
  export type DecodedEvent = DataEvent | DiagnosticEvent | InteractionEvent | LayoutEvent | PerformanceEvent;
@@ -65,15 +67,16 @@ export interface DecodedPayload {
65
67
  upgrade?: UpgradeEvent[];
66
68
  upload?: UploadEvent[];
67
69
  visibility?: VisibilityEvent[];
68
- box?: BoxEvent[];
69
70
  region?: RegionEvent[];
70
71
  dom?: DomEvent[];
71
72
  doc?: DocumentEvent[];
72
73
  navigation?: NavigationEvent[];
73
74
  log?: LogEvent[];
75
+ fraud?: FraudEvent[];
74
76
  baseline?: BaselineEvent[];
75
77
  variable?: VariableEvent[];
76
78
  custom?: CustomEvent[];
79
+ extract?: ExtractEvent[];
77
80
  }
78
81
 
79
82
  export interface DecodedVersion {
@@ -3,6 +3,8 @@ import { PartialEvent } from "./core";
3
3
 
4
4
  export interface ScriptErrorEvent extends PartialEvent { data: Diagnostic.ScriptErrorData; }
5
5
  export interface LogEvent extends PartialEvent { data: Diagnostic.LogData; }
6
+ export interface FraudEvent extends PartialEvent { data: Diagnostic.FraudData; }
7
+
6
8
  export interface DiagnosticEvent extends PartialEvent {
7
- data: Diagnostic.LogData | Diagnostic.ScriptErrorData;
9
+ data: Diagnostic.FraudData | Diagnostic.LogData | Diagnostic.ScriptErrorData;
8
10
  }
package/types/layout.d.ts CHANGED
@@ -4,9 +4,8 @@ import { PartialEvent } from "./core";
4
4
  export interface RegionEvent extends PartialEvent { data: Layout.RegionData[]; }
5
5
  export interface DocumentEvent extends PartialEvent { data: Layout.DocumentData; }
6
6
  export interface DomEvent extends PartialEvent { data: DomData[]; }
7
- export interface BoxEvent extends PartialEvent { data: Layout.BoxData[]; }
8
7
  export interface LayoutEvent extends PartialEvent {
9
- data: Layout.RegionData[] | Layout.DocumentData | DomData[] | Layout.BoxData[];
8
+ data: Layout.RegionData[] | Layout.DocumentData | DomData[];
10
9
  }
11
10
 
12
11
  /* Redeclare enums */