clarity-decode 0.6.39 → 0.6.41
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.
package/build/clarity.decode.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var version$1 = "0.6.
|
|
5
|
+
var version$1 = "0.6.41";
|
|
6
6
|
var version = version$1;
|
|
7
7
|
|
|
8
8
|
function decode$5(tokens) {
|
|
@@ -202,7 +202,7 @@ function decode$3(tokens) {
|
|
|
202
202
|
var timelineHashes = tokens[3].split("." /* Data.Constant.Dot */);
|
|
203
203
|
var timelineData = {
|
|
204
204
|
type: tokens[2],
|
|
205
|
-
hash: timelineHashes[0 /* Layout.Selector.
|
|
205
|
+
hash: timelineHashes[0 /* Layout.Selector.Alpha */],
|
|
206
206
|
x: tokens[4],
|
|
207
207
|
y: tokens[5],
|
|
208
208
|
reaction: tokens[6],
|
|
@@ -327,7 +327,7 @@ function process(node, tagIndex) {
|
|
|
327
327
|
value = token;
|
|
328
328
|
}
|
|
329
329
|
else if (output.tag !== "*T" /* Layout.Constant.TextTag */ && lastChar === ">" && keyIndex === -1) ;
|
|
330
|
-
else if (output.tag !== "*T" /* Layout.Constant.TextTag */ && firstChar === "#" /* Layout.Constant.
|
|
330
|
+
else if (output.tag !== "*T" /* Layout.Constant.TextTag */ && firstChar === "#" /* Layout.Constant.Hash */ && keyIndex === -1) {
|
|
331
331
|
var parts = token.substr(1).split("." /* Layout.Constant.Period */);
|
|
332
332
|
if (parts.length === 2) {
|
|
333
333
|
output.width = num(parts[0]) / 100 /* Data.Setting.BoxPrecision */;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(){"use strict";var e="0.6.
|
|
1
|
+
!function(){"use strict";var e="0.6.41";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.
|
|
1
|
+
var version$1 = "0.6.41";
|
|
2
2
|
var version = version$1;
|
|
3
3
|
|
|
4
4
|
function decode$5(tokens) {
|
|
@@ -198,7 +198,7 @@ function decode$3(tokens) {
|
|
|
198
198
|
var timelineHashes = tokens[3].split("." /* Data.Constant.Dot */);
|
|
199
199
|
var timelineData = {
|
|
200
200
|
type: tokens[2],
|
|
201
|
-
hash: timelineHashes[0 /* Layout.Selector.
|
|
201
|
+
hash: timelineHashes[0 /* Layout.Selector.Alpha */],
|
|
202
202
|
x: tokens[4],
|
|
203
203
|
y: tokens[5],
|
|
204
204
|
reaction: tokens[6],
|
|
@@ -323,7 +323,7 @@ function process(node, tagIndex) {
|
|
|
323
323
|
value = token;
|
|
324
324
|
}
|
|
325
325
|
else if (output.tag !== "*T" /* Layout.Constant.TextTag */ && lastChar === ">" && keyIndex === -1) ;
|
|
326
|
-
else if (output.tag !== "*T" /* Layout.Constant.TextTag */ && firstChar === "#" /* Layout.Constant.
|
|
326
|
+
else if (output.tag !== "*T" /* Layout.Constant.TextTag */ && firstChar === "#" /* Layout.Constant.Hash */ && keyIndex === -1) {
|
|
327
327
|
var parts = token.substr(1).split("." /* Layout.Constant.Period */);
|
|
328
328
|
if (parts.length === 2) {
|
|
329
329
|
output.width = num(parts[0]) / 100 /* Data.Setting.BoxPrecision */;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "clarity-decode",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.41",
|
|
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.
|
|
29
|
+
"clarity-js": "^0.6.41"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"@rollup/plugin-commonjs": "^19.0.1",
|
package/src/interaction.ts
CHANGED
|
@@ -74,7 +74,7 @@ export function decode(tokens: Data.Token[]): InteractionEvent {
|
|
|
74
74
|
let timelineHashes = (tokens[3] as string).split(Data.Constant.Dot);
|
|
75
75
|
let timelineData: TimelineData = {
|
|
76
76
|
type: tokens[2] as number,
|
|
77
|
-
hash: timelineHashes[Layout.Selector.
|
|
77
|
+
hash: timelineHashes[Layout.Selector.Alpha],
|
|
78
78
|
x: tokens[4] as number,
|
|
79
79
|
y: tokens[5] as number,
|
|
80
80
|
reaction: tokens[6] as number,
|
package/src/layout.ts
CHANGED
|
@@ -114,7 +114,7 @@ function process(node: any[] | number[], tagIndex: number): DomData {
|
|
|
114
114
|
// Backward compatibility - since v0.6.25
|
|
115
115
|
// Ignore this conditional block since we no longer compute selectors at decode time to save on uploaded bytes
|
|
116
116
|
// Instead, we now compute selector and hash at visualization layer where we have access to all payloads together
|
|
117
|
-
} else if (output.tag !== Layout.Constant.TextTag && firstChar === Layout.Constant.
|
|
117
|
+
} else if (output.tag !== Layout.Constant.TextTag && firstChar === Layout.Constant.Hash && keyIndex === -1) {
|
|
118
118
|
let parts = token.substr(1).split(Layout.Constant.Period);
|
|
119
119
|
if (parts.length === 2) {
|
|
120
120
|
output.width = num(parts[0]) / Data.Setting.BoxPrecision;
|
package/types/layout.d.ts
CHANGED
|
@@ -13,6 +13,7 @@ export import Constant = Layout.Constant;
|
|
|
13
13
|
export import Interaction = Layout.InteractionState;
|
|
14
14
|
export import RegionVisibility = Layout.RegionVisibility;
|
|
15
15
|
export import SelectorInput = Layout.SelectorInput;
|
|
16
|
+
export import Selector = Layout.Selector;
|
|
16
17
|
|
|
17
18
|
/* Event Data */
|
|
18
19
|
export interface DomData {
|
|
@@ -24,8 +25,8 @@ export interface DomData {
|
|
|
24
25
|
value?: string;
|
|
25
26
|
width?: number;
|
|
26
27
|
height?: number;
|
|
27
|
-
|
|
28
|
-
|
|
28
|
+
selectorAlpha?: string;
|
|
29
|
+
hashAlpha?: string;
|
|
29
30
|
selectorBeta?: string;
|
|
30
31
|
hashBeta?: string;
|
|
31
32
|
}
|