clarity-js 0.7.5 → 0.7.7
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.insight.js +1 -1
- package/build/clarity.js +160 -84
- package/build/clarity.min.js +1 -1
- package/build/clarity.module.js +160 -84
- package/package.json +1 -1
- package/rollup.config.ts +5 -5
- package/src/core/scrub.ts +39 -9
- package/src/core/version.ts +1 -1
- package/src/data/encode.ts +10 -3
- package/src/data/extract.ts +69 -27
- package/src/data/metadata.ts +7 -2
- package/src/data/upload.ts +2 -1
- package/src/{core → insight}/blank.ts +3 -1
- package/src/insight/encode.ts +61 -0
- package/src/insight/snapshot.ts +112 -0
- package/src/interaction/click.ts +15 -2
- package/src/interaction/encode.ts +1 -1
- package/src/interaction/pointer.ts +1 -1
- package/src/layout/document.ts +2 -2
- package/src/layout/encode.ts +1 -1
- package/src/layout/index.ts +1 -1
- package/src/layout/offset.ts +1 -1
- package/src/layout/target.ts +0 -13
- package/src/layout/traverse.ts +4 -4
- package/src/queue.ts +2 -0
- package/types/core.d.ts +4 -2
- package/types/data.d.ts +5 -3
- package/types/layout.d.ts +1 -0
package/build/clarity.module.js
CHANGED
|
@@ -78,6 +78,8 @@ function setup() {
|
|
|
78
78
|
if (typeof w !== "undefined") {
|
|
79
79
|
w[c] = function () {
|
|
80
80
|
(w[c].q = w[c].q || []).push(arguments);
|
|
81
|
+
// if the start function was called, don't queue it and instead process the queue
|
|
82
|
+
arguments[0] === "start" && w[c].q.unshift(w[c].q.pop()) && process$7();
|
|
81
83
|
};
|
|
82
84
|
}
|
|
83
85
|
}
|
|
@@ -143,11 +145,11 @@ function time(event) {
|
|
|
143
145
|
var ts = event && event.timeStamp > 0 ? event.timeStamp : performance.now();
|
|
144
146
|
return Math.max(Math.round(ts - startTime), 0);
|
|
145
147
|
}
|
|
146
|
-
function stop$
|
|
148
|
+
function stop$D() {
|
|
147
149
|
startTime = 0;
|
|
148
150
|
}
|
|
149
151
|
|
|
150
|
-
var version$1 = "0.7.
|
|
152
|
+
var version$1 = "0.7.7";
|
|
151
153
|
|
|
152
154
|
// tslint:disable: no-bitwise
|
|
153
155
|
function hash (input, precision) {
|
|
@@ -197,6 +199,7 @@ function text$1(value, hint, privacy, mangle) {
|
|
|
197
199
|
case 3 /* Privacy.TextImage */:
|
|
198
200
|
switch (hint) {
|
|
199
201
|
case "*T" /* Layout.Constant.TextTag */:
|
|
202
|
+
case "data-" /* Layout.Constant.DataAttribute */:
|
|
200
203
|
return mangle ? mangleText(value) : mask(value);
|
|
201
204
|
case "src":
|
|
202
205
|
case "srcset":
|
|
@@ -215,6 +218,7 @@ function text$1(value, hint, privacy, mangle) {
|
|
|
215
218
|
case 4 /* Privacy.Exclude */:
|
|
216
219
|
switch (hint) {
|
|
217
220
|
case "*T" /* Layout.Constant.TextTag */:
|
|
221
|
+
case "data-" /* Layout.Constant.DataAttribute */:
|
|
218
222
|
return mangle ? mangleText(value) : mask(value);
|
|
219
223
|
case "value":
|
|
220
224
|
case "input":
|
|
@@ -224,6 +228,25 @@ function text$1(value, hint, privacy, mangle) {
|
|
|
224
228
|
case "checksum":
|
|
225
229
|
return "" /* Data.Constant.Empty */;
|
|
226
230
|
}
|
|
231
|
+
break;
|
|
232
|
+
case 5 /* Privacy.Snapshot */:
|
|
233
|
+
switch (hint) {
|
|
234
|
+
case "*T" /* Layout.Constant.TextTag */:
|
|
235
|
+
case "data-" /* Layout.Constant.DataAttribute */:
|
|
236
|
+
return scrub(value);
|
|
237
|
+
case "value":
|
|
238
|
+
case "input":
|
|
239
|
+
case "click":
|
|
240
|
+
case "change":
|
|
241
|
+
return Array(5 /* Data.Setting.WordLength */).join("\u2022" /* Data.Constant.Mask */);
|
|
242
|
+
case "checksum":
|
|
243
|
+
case "src":
|
|
244
|
+
case "srcset":
|
|
245
|
+
case "alt":
|
|
246
|
+
case "title":
|
|
247
|
+
return "" /* Data.Constant.Empty */;
|
|
248
|
+
}
|
|
249
|
+
break;
|
|
227
250
|
}
|
|
228
251
|
}
|
|
229
252
|
return value;
|
|
@@ -251,6 +274,10 @@ function mangleText(value) {
|
|
|
251
274
|
function mask(value) {
|
|
252
275
|
return value.replace(catchallRegex, "\u2022" /* Data.Constant.Mask */);
|
|
253
276
|
}
|
|
277
|
+
function scrub(value) {
|
|
278
|
+
regex(); // Initialize regular expressions
|
|
279
|
+
return value.replace(letterRegex, "\u25AA" /* Data.Constant.Letter */).replace(digitRegex, "\u25AB" /* Data.Constant.Digit */);
|
|
280
|
+
}
|
|
254
281
|
function mangleToken(value) {
|
|
255
282
|
var length = ((Math.floor(value.length / 5 /* Data.Setting.WordLength */) + 1) * 5 /* Data.Setting.WordLength */);
|
|
256
283
|
var output = "" /* Layout.Constant.Empty */;
|
|
@@ -259,13 +286,7 @@ function mangleToken(value) {
|
|
|
259
286
|
}
|
|
260
287
|
return output;
|
|
261
288
|
}
|
|
262
|
-
function
|
|
263
|
-
var spaceIndex = -1;
|
|
264
|
-
var gap = 0;
|
|
265
|
-
var hasDigit = false;
|
|
266
|
-
var hasEmail = false;
|
|
267
|
-
var hasWhitespace = false;
|
|
268
|
-
var array = null;
|
|
289
|
+
function regex() {
|
|
269
290
|
// Initialize unicode regex, if supported by the browser
|
|
270
291
|
// Reference: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions/Unicode_Property_Escapes
|
|
271
292
|
if (unicodeRegex && digitRegex === null) {
|
|
@@ -278,6 +299,15 @@ function redact(value) {
|
|
|
278
299
|
unicodeRegex = false;
|
|
279
300
|
}
|
|
280
301
|
}
|
|
302
|
+
}
|
|
303
|
+
function redact(value) {
|
|
304
|
+
var spaceIndex = -1;
|
|
305
|
+
var gap = 0;
|
|
306
|
+
var hasDigit = false;
|
|
307
|
+
var hasEmail = false;
|
|
308
|
+
var hasWhitespace = false;
|
|
309
|
+
var array = null;
|
|
310
|
+
regex(); // Initialize regular expressions
|
|
281
311
|
for (var i = 0; i < value.length; i++) {
|
|
282
312
|
var c = value.charCodeAt(i);
|
|
283
313
|
hasDigit = hasDigit || (c >= 48 /* Data.Character.Zero */ && c <= 57 /* Data.Character.Nine */); // Check for digits in the current word
|
|
@@ -389,7 +419,7 @@ function compute$c() {
|
|
|
389
419
|
encode$1(4 /* Event.Baseline */);
|
|
390
420
|
}
|
|
391
421
|
}
|
|
392
|
-
function stop$
|
|
422
|
+
function stop$C() {
|
|
393
423
|
reset$q();
|
|
394
424
|
}
|
|
395
425
|
|
|
@@ -400,7 +430,7 @@ var baseline = /*#__PURE__*/Object.freeze({
|
|
|
400
430
|
reset: reset$q,
|
|
401
431
|
start: start$F,
|
|
402
432
|
get state () { return state$a; },
|
|
403
|
-
stop: stop$
|
|
433
|
+
stop: stop$C,
|
|
404
434
|
track: track$7,
|
|
405
435
|
visibility: visibility
|
|
406
436
|
});
|
|
@@ -426,7 +456,7 @@ function start$E() {
|
|
|
426
456
|
updates$3 = {};
|
|
427
457
|
count$1(5 /* Metric.InvokeCount */);
|
|
428
458
|
}
|
|
429
|
-
function stop$
|
|
459
|
+
function stop$B() {
|
|
430
460
|
data$i = {};
|
|
431
461
|
updates$3 = {};
|
|
432
462
|
}
|
|
@@ -504,7 +534,7 @@ function ping() {
|
|
|
504
534
|
suspend();
|
|
505
535
|
}
|
|
506
536
|
}
|
|
507
|
-
function stop$
|
|
537
|
+
function stop$A() {
|
|
508
538
|
clearTimeout(timeout$6);
|
|
509
539
|
last = 0;
|
|
510
540
|
interval = 0;
|
|
@@ -515,14 +545,14 @@ var ping$1 = /*#__PURE__*/Object.freeze({
|
|
|
515
545
|
get data () { return data$h; },
|
|
516
546
|
reset: reset$o,
|
|
517
547
|
start: start$D,
|
|
518
|
-
stop: stop$
|
|
548
|
+
stop: stop$A
|
|
519
549
|
});
|
|
520
550
|
|
|
521
551
|
var data$g = null;
|
|
522
552
|
function start$C() {
|
|
523
553
|
data$g = {};
|
|
524
554
|
}
|
|
525
|
-
function stop$
|
|
555
|
+
function stop$z() {
|
|
526
556
|
data$g = {};
|
|
527
557
|
}
|
|
528
558
|
function track$6(event, time) {
|
|
@@ -555,7 +585,7 @@ var summary = /*#__PURE__*/Object.freeze({
|
|
|
555
585
|
get data () { return data$g; },
|
|
556
586
|
reset: reset$n,
|
|
557
587
|
start: start$C,
|
|
558
|
-
stop: stop$
|
|
588
|
+
stop: stop$z,
|
|
559
589
|
track: track$6
|
|
560
590
|
});
|
|
561
591
|
|
|
@@ -584,7 +614,7 @@ function upgrade(key) {
|
|
|
584
614
|
encode$1(3 /* Event.Upgrade */);
|
|
585
615
|
}
|
|
586
616
|
}
|
|
587
|
-
function stop$
|
|
617
|
+
function stop$y() {
|
|
588
618
|
data$f = null;
|
|
589
619
|
}
|
|
590
620
|
|
|
@@ -592,7 +622,7 @@ var upgrade$1 = /*#__PURE__*/Object.freeze({
|
|
|
592
622
|
__proto__: null,
|
|
593
623
|
get data () { return data$f; },
|
|
594
624
|
start: start$B,
|
|
595
|
-
stop: stop$
|
|
625
|
+
stop: stop$y,
|
|
596
626
|
upgrade: upgrade
|
|
597
627
|
});
|
|
598
628
|
|
|
@@ -632,7 +662,7 @@ function compute$9() {
|
|
|
632
662
|
function reset$m() {
|
|
633
663
|
data$e = {};
|
|
634
664
|
}
|
|
635
|
-
function stop$
|
|
665
|
+
function stop$x() {
|
|
636
666
|
reset$m();
|
|
637
667
|
}
|
|
638
668
|
|
|
@@ -644,7 +674,7 @@ var variable = /*#__PURE__*/Object.freeze({
|
|
|
644
674
|
reset: reset$m,
|
|
645
675
|
set: set,
|
|
646
676
|
start: start$A,
|
|
647
|
-
stop: stop$
|
|
677
|
+
stop: stop$x
|
|
648
678
|
});
|
|
649
679
|
|
|
650
680
|
/******************************************************************************
|
|
@@ -764,13 +794,13 @@ function start$z() {
|
|
|
764
794
|
start$E();
|
|
765
795
|
modules$1.forEach(function (x) { return measure(x.start)(); });
|
|
766
796
|
}
|
|
767
|
-
function stop$
|
|
797
|
+
function stop$w() {
|
|
768
798
|
// Stop modules in the reverse order of their initialization
|
|
769
799
|
// The ordering below should respect inter-module dependency.
|
|
770
800
|
// E.g. if upgrade depends on upload, then upgrade needs to end before upload.
|
|
771
801
|
// Similarly, if upload depends on metadata, upload needs to end before metadata.
|
|
772
802
|
modules$1.slice().reverse().forEach(function (x) { return measure(x.stop)(); });
|
|
773
|
-
stop$
|
|
803
|
+
stop$B();
|
|
774
804
|
}
|
|
775
805
|
function compute$8() {
|
|
776
806
|
compute$9();
|
|
@@ -920,7 +950,7 @@ function start$x() {
|
|
|
920
950
|
reset$k();
|
|
921
951
|
parse$1(document, true);
|
|
922
952
|
}
|
|
923
|
-
function stop$
|
|
953
|
+
function stop$v() {
|
|
924
954
|
reset$k();
|
|
925
955
|
}
|
|
926
956
|
function reset$k() {
|
|
@@ -1267,7 +1297,7 @@ var dom = /*#__PURE__*/Object.freeze({
|
|
|
1267
1297
|
parse: parse$1,
|
|
1268
1298
|
sameorigin: sameorigin,
|
|
1269
1299
|
start: start$x,
|
|
1270
|
-
stop: stop$
|
|
1300
|
+
stop: stop$v,
|
|
1271
1301
|
update: update$1,
|
|
1272
1302
|
updates: updates$2
|
|
1273
1303
|
});
|
|
@@ -1378,7 +1408,7 @@ function restart$2(timer) {
|
|
|
1378
1408
|
tracker[id].yield = y;
|
|
1379
1409
|
}
|
|
1380
1410
|
}
|
|
1381
|
-
function stop$
|
|
1411
|
+
function stop$u(timer) {
|
|
1382
1412
|
var end = performance.now();
|
|
1383
1413
|
var id = key(timer);
|
|
1384
1414
|
var duration = end - tracker[id].start;
|
|
@@ -1398,7 +1428,7 @@ function suspend$1(timer) {
|
|
|
1398
1428
|
case 0:
|
|
1399
1429
|
id = key(timer);
|
|
1400
1430
|
if (!(id in tracker)) return [3 /*break*/, 2];
|
|
1401
|
-
stop$
|
|
1431
|
+
stop$u(timer);
|
|
1402
1432
|
_a = tracker[id];
|
|
1403
1433
|
return [4 /*yield*/, wait()];
|
|
1404
1434
|
case 1:
|
|
@@ -1541,7 +1571,7 @@ function compute$7() {
|
|
|
1541
1571
|
encode$4(8 /* Event.Document */);
|
|
1542
1572
|
}
|
|
1543
1573
|
}
|
|
1544
|
-
function
|
|
1574
|
+
function stop$t() {
|
|
1545
1575
|
reset$i();
|
|
1546
1576
|
}
|
|
1547
1577
|
|
|
@@ -1676,7 +1706,7 @@ function str$1(input) {
|
|
|
1676
1706
|
return input.toString(36);
|
|
1677
1707
|
}
|
|
1678
1708
|
function attribute(key, value, privacy) {
|
|
1679
|
-
return "".concat(key, "=").concat(text$1(value, key, privacy));
|
|
1709
|
+
return "".concat(key, "=").concat(text$1(value, key.indexOf("data-" /* Constant.DataAttribute */) === 0 ? "data-" /* Constant.DataAttribute */ : key, privacy));
|
|
1680
1710
|
}
|
|
1681
1711
|
|
|
1682
1712
|
var state$8 = [];
|
|
@@ -1849,7 +1879,7 @@ function stop$r() {
|
|
|
1849
1879
|
reset$g();
|
|
1850
1880
|
}
|
|
1851
1881
|
|
|
1852
|
-
function offset
|
|
1882
|
+
function offset(element) {
|
|
1853
1883
|
var output = { x: 0, y: 0 };
|
|
1854
1884
|
// Walk up the chain to ensure we compute offset distance correctly
|
|
1855
1885
|
// In case where we may have nested IFRAMEs, we keep walking up until we get to the top most parent page
|
|
@@ -1922,6 +1952,18 @@ function handler$2(event, root, evt) {
|
|
|
1922
1952
|
schedule$1(encode$3.bind(this, event));
|
|
1923
1953
|
}
|
|
1924
1954
|
}
|
|
1955
|
+
function link(node) {
|
|
1956
|
+
while (node && node !== document) {
|
|
1957
|
+
if (node.nodeType === Node.ELEMENT_NODE) {
|
|
1958
|
+
var element = node;
|
|
1959
|
+
if (element.tagName === "A") {
|
|
1960
|
+
return element;
|
|
1961
|
+
}
|
|
1962
|
+
}
|
|
1963
|
+
node = node.parentNode;
|
|
1964
|
+
}
|
|
1965
|
+
return null;
|
|
1966
|
+
}
|
|
1925
1967
|
function text(element) {
|
|
1926
1968
|
var output = null;
|
|
1927
1969
|
if (element) {
|
|
@@ -2659,7 +2701,7 @@ function getAttributes(element) {
|
|
|
2659
2701
|
|
|
2660
2702
|
function traverse (root, timer, source) {
|
|
2661
2703
|
return __awaiter(this, void 0, void 0, function () {
|
|
2662
|
-
var queue,
|
|
2704
|
+
var queue, entry, next, state, subnode;
|
|
2663
2705
|
return __generator(this, function (_a) {
|
|
2664
2706
|
switch (_a.label) {
|
|
2665
2707
|
case 0:
|
|
@@ -2667,8 +2709,8 @@ function traverse (root, timer, source) {
|
|
|
2667
2709
|
_a.label = 1;
|
|
2668
2710
|
case 1:
|
|
2669
2711
|
if (!(queue.length > 0)) return [3 /*break*/, 4];
|
|
2670
|
-
|
|
2671
|
-
next =
|
|
2712
|
+
entry = queue.shift();
|
|
2713
|
+
next = entry.firstChild;
|
|
2672
2714
|
while (next) {
|
|
2673
2715
|
queue.push(next);
|
|
2674
2716
|
next = next.nextSibling;
|
|
@@ -2683,7 +2725,7 @@ function traverse (root, timer, source) {
|
|
|
2683
2725
|
if (state === 2 /* Task.Stop */) {
|
|
2684
2726
|
return [3 /*break*/, 4];
|
|
2685
2727
|
}
|
|
2686
|
-
subnode = processNode(
|
|
2728
|
+
subnode = processNode(entry, source);
|
|
2687
2729
|
if (subnode) {
|
|
2688
2730
|
queue.push(subnode);
|
|
2689
2731
|
}
|
|
@@ -2866,7 +2908,7 @@ function process$1() {
|
|
|
2866
2908
|
_b.sent();
|
|
2867
2909
|
return [3 /*break*/, 1];
|
|
2868
2910
|
case 8:
|
|
2869
|
-
stop$
|
|
2911
|
+
stop$u(timer);
|
|
2870
2912
|
return [2 /*return*/];
|
|
2871
2913
|
}
|
|
2872
2914
|
});
|
|
@@ -2998,18 +3040,6 @@ function target(evt) {
|
|
|
2998
3040
|
active$2(); // Mark active periods of time so mutations can continue uninterrupted
|
|
2999
3041
|
return node.nodeType === Node.DOCUMENT_NODE ? node.documentElement : node;
|
|
3000
3042
|
}
|
|
3001
|
-
function link(node) {
|
|
3002
|
-
while (node && node !== document) {
|
|
3003
|
-
if (node.nodeType === Node.ELEMENT_NODE) {
|
|
3004
|
-
var element = node;
|
|
3005
|
-
if (element.tagName === "A") {
|
|
3006
|
-
return element;
|
|
3007
|
-
}
|
|
3008
|
-
}
|
|
3009
|
-
node = node.parentNode;
|
|
3010
|
-
}
|
|
3011
|
-
return null;
|
|
3012
|
-
}
|
|
3013
3043
|
function metadata$2(node, event, text) {
|
|
3014
3044
|
if (text === void 0) { text = null; }
|
|
3015
3045
|
// If the node is null, we return a reserved value for id: 0. Valid assignment of id begins from 1+.
|
|
@@ -3068,7 +3098,7 @@ function encode$3 (type, ts) {
|
|
|
3068
3098
|
entry = _c[_b];
|
|
3069
3099
|
cTarget = metadata$2(entry.data.target, entry.event, entry.data.text);
|
|
3070
3100
|
tokens = [entry.time, entry.event];
|
|
3071
|
-
cHash = cTarget.hash.join("." /* Constant.Dot */)
|
|
3101
|
+
cHash = cTarget.hash ? cTarget.hash.join("." /* Constant.Dot */) : "" /* Constant.Empty */;
|
|
3072
3102
|
tokens.push(cTarget.id);
|
|
3073
3103
|
tokens.push(entry.data.x);
|
|
3074
3104
|
tokens.push(entry.data.y);
|
|
@@ -3288,6 +3318,7 @@ function queue(tokens, transmit) {
|
|
|
3288
3318
|
discoverBytes += event_1.length;
|
|
3289
3319
|
case 37 /* Event.Box */:
|
|
3290
3320
|
case 6 /* Event.Mutation */:
|
|
3321
|
+
case 43 /* Event.Snapshot */:
|
|
3291
3322
|
playbackBytes += event_1.length;
|
|
3292
3323
|
playback.push(event_1);
|
|
3293
3324
|
break;
|
|
@@ -3628,12 +3659,18 @@ function stop$c() {
|
|
|
3628
3659
|
}
|
|
3629
3660
|
|
|
3630
3661
|
var data$5 = {};
|
|
3631
|
-
var keys =
|
|
3662
|
+
var keys = new Set();
|
|
3632
3663
|
var variables = {};
|
|
3633
3664
|
var selectors = {};
|
|
3665
|
+
var hashes = {};
|
|
3634
3666
|
function start$c() {
|
|
3635
3667
|
reset$4();
|
|
3636
3668
|
}
|
|
3669
|
+
// Input string is of the following form:
|
|
3670
|
+
// EXTRACT 101 { "1": ".class1", "2": "~window.a.b", "3": "!abc"}
|
|
3671
|
+
// Which will set up event 101 to grab the contents of the class1 selector into component 1,
|
|
3672
|
+
// the javascript evaluated contents of window.a.b into component 2,
|
|
3673
|
+
// and the contents of Clarity's hash abc into component 3
|
|
3637
3674
|
function trigger$1(input) {
|
|
3638
3675
|
try {
|
|
3639
3676
|
var parts = input && input.length > 0 ? input.split(/ (.*)/) : ["" /* Constant.Empty */];
|
|
@@ -3641,10 +3678,19 @@ function trigger$1(input) {
|
|
|
3641
3678
|
var values = parts.length > 1 ? JSON.parse(parts[1]) : {};
|
|
3642
3679
|
variables[key] = {};
|
|
3643
3680
|
selectors[key] = {};
|
|
3681
|
+
hashes[key] = {};
|
|
3644
3682
|
for (var v in values) {
|
|
3683
|
+
// values is a set of strings for proper JSON parsing, but it's more efficient
|
|
3684
|
+
// to interact with them as numbers
|
|
3645
3685
|
var id = parseInt(v);
|
|
3646
3686
|
var value = values[v];
|
|
3647
|
-
var source =
|
|
3687
|
+
var source = 2 /* ExtractSource.Text */;
|
|
3688
|
+
if (value.startsWith("~" /* Constant.Tilde */)) {
|
|
3689
|
+
source = 0 /* ExtractSource.Javascript */;
|
|
3690
|
+
}
|
|
3691
|
+
else if (value.startsWith("!" /* Constant.Bang */)) {
|
|
3692
|
+
source = 4 /* ExtractSource.Hash */;
|
|
3693
|
+
}
|
|
3648
3694
|
switch (source) {
|
|
3649
3695
|
case 0 /* ExtractSource.Javascript */:
|
|
3650
3696
|
var variable = value.substring(1, value.length);
|
|
@@ -3653,6 +3699,10 @@ function trigger$1(input) {
|
|
|
3653
3699
|
case 2 /* ExtractSource.Text */:
|
|
3654
3700
|
selectors[key][id] = value;
|
|
3655
3701
|
break;
|
|
3702
|
+
case 4 /* ExtractSource.Hash */:
|
|
3703
|
+
var hash = value.substring(1, value.length);
|
|
3704
|
+
hashes[key][id] = hash;
|
|
3705
|
+
break;
|
|
3656
3706
|
}
|
|
3657
3707
|
}
|
|
3658
3708
|
}
|
|
@@ -3667,44 +3717,56 @@ function compute$4() {
|
|
|
3667
3717
|
try {
|
|
3668
3718
|
for (var v in variables) {
|
|
3669
3719
|
var key = parseInt(v);
|
|
3670
|
-
|
|
3671
|
-
|
|
3672
|
-
|
|
3673
|
-
|
|
3674
|
-
|
|
3675
|
-
|
|
3676
|
-
update(key, variableKey, value);
|
|
3677
|
-
}
|
|
3720
|
+
var variableData = variables[key];
|
|
3721
|
+
for (var v_1 in variableData) {
|
|
3722
|
+
var variableKey = parseInt(v_1);
|
|
3723
|
+
var value = str(evaluate(clone(variableData[variableKey])));
|
|
3724
|
+
if (value) {
|
|
3725
|
+
update(key, variableKey, value);
|
|
3678
3726
|
}
|
|
3679
|
-
|
|
3680
|
-
|
|
3681
|
-
|
|
3682
|
-
|
|
3683
|
-
|
|
3684
|
-
|
|
3685
|
-
|
|
3686
|
-
|
|
3727
|
+
}
|
|
3728
|
+
var selectorData = selectors[key];
|
|
3729
|
+
for (var s in selectorData) {
|
|
3730
|
+
var selectorKey = parseInt(s);
|
|
3731
|
+
var nodes = document.querySelectorAll(selectorData[selectorKey]);
|
|
3732
|
+
if (nodes) {
|
|
3733
|
+
var text = Array.from(nodes).map(function (e) { return e.innerText; });
|
|
3734
|
+
update(key, selectorKey, text.join("<SEP>" /* Constant.Seperator */).substring(0, 10000 /* Setting.ExtractLimit */));
|
|
3687
3735
|
}
|
|
3688
3736
|
}
|
|
3737
|
+
var hashData = hashes[key];
|
|
3738
|
+
for (var h in hashData) {
|
|
3739
|
+
var hashKey = parseInt(h);
|
|
3740
|
+
var content = hashText(hashData[hashKey]).trim().substring(0, 10000 /* Setting.ExtractLimit */);
|
|
3741
|
+
update(key, hashKey, content);
|
|
3742
|
+
}
|
|
3743
|
+
}
|
|
3744
|
+
if (keys.size > 0) {
|
|
3745
|
+
encode$1(40 /* Event.Extract */);
|
|
3689
3746
|
}
|
|
3690
3747
|
}
|
|
3691
3748
|
catch (e) {
|
|
3692
3749
|
log$1(5 /* Code.Selector */, 1 /* Severity.Warning */, e ? e.name : null);
|
|
3693
3750
|
}
|
|
3694
|
-
encode$1(40 /* Event.Extract */);
|
|
3695
3751
|
}
|
|
3696
3752
|
function reset$4() {
|
|
3697
|
-
|
|
3698
|
-
keys = [];
|
|
3699
|
-
variables = {};
|
|
3700
|
-
selectors = {};
|
|
3753
|
+
keys.clear();
|
|
3701
3754
|
}
|
|
3702
3755
|
function update(key, subkey, value) {
|
|
3756
|
+
var update = false;
|
|
3703
3757
|
if (!(key in data$5)) {
|
|
3704
|
-
data$5[key] =
|
|
3705
|
-
|
|
3758
|
+
data$5[key] = {};
|
|
3759
|
+
update = true;
|
|
3706
3760
|
}
|
|
3707
|
-
|
|
3761
|
+
if (!isEmpty(hashes[key])
|
|
3762
|
+
&& (!(subkey in data$5[key]) || data$5[key][subkey] != value)) {
|
|
3763
|
+
update = true;
|
|
3764
|
+
}
|
|
3765
|
+
data$5[key][subkey] = value;
|
|
3766
|
+
if (update) {
|
|
3767
|
+
keys.add(key);
|
|
3768
|
+
}
|
|
3769
|
+
return;
|
|
3708
3770
|
}
|
|
3709
3771
|
function stop$b() {
|
|
3710
3772
|
reset$4();
|
|
@@ -3767,6 +3829,9 @@ function match(base, condition) {
|
|
|
3767
3829
|
return prop.length > 1 ? base[prop[0]] == prop[1] : base[prop[0]];
|
|
3768
3830
|
}
|
|
3769
3831
|
return true;
|
|
3832
|
+
}
|
|
3833
|
+
function isEmpty(obj) {
|
|
3834
|
+
return Object.keys(obj).length == 0;
|
|
3770
3835
|
}
|
|
3771
3836
|
|
|
3772
3837
|
function encode$1 (event) {
|
|
@@ -3869,11 +3934,16 @@ function encode$1 (event) {
|
|
|
3869
3934
|
break;
|
|
3870
3935
|
case 40 /* Event.Extract */:
|
|
3871
3936
|
var extractKeys = keys;
|
|
3872
|
-
|
|
3873
|
-
var e = extractKeys_1[_d];
|
|
3937
|
+
extractKeys.forEach((function (e) {
|
|
3874
3938
|
tokens.push(e);
|
|
3875
|
-
|
|
3876
|
-
|
|
3939
|
+
var token = [];
|
|
3940
|
+
for (var d in data$5[e]) {
|
|
3941
|
+
var key = parseInt(d, 10);
|
|
3942
|
+
token.push(key);
|
|
3943
|
+
token.push(data$5[e][d]);
|
|
3944
|
+
}
|
|
3945
|
+
tokens.push(token);
|
|
3946
|
+
}));
|
|
3877
3947
|
reset$4();
|
|
3878
3948
|
queue(tokens, false);
|
|
3879
3949
|
}
|
|
@@ -4021,11 +4091,17 @@ function stop$8() {
|
|
|
4021
4091
|
}
|
|
4022
4092
|
function metadata(cb, wait) {
|
|
4023
4093
|
if (wait === void 0) { wait = true; }
|
|
4024
|
-
|
|
4094
|
+
var upgraded = config$1.lean ? 0 /* BooleanFlag.False */ : 1 /* BooleanFlag.True */;
|
|
4095
|
+
// if caller hasn't specified that they want to skip waiting for upgrade but we've already upgraded, we need to
|
|
4096
|
+
// directly execute the callback rather than adding to our list as we only process callbacks at the moment
|
|
4097
|
+
// we go through the upgrading flow.
|
|
4098
|
+
if (data$2 && (upgraded || wait === false)) {
|
|
4025
4099
|
// Immediately invoke the callback if the caller explicitly doesn't want to wait for the upgrade confirmation
|
|
4026
4100
|
cb(data$2, !config$1.lean);
|
|
4027
4101
|
}
|
|
4028
|
-
|
|
4102
|
+
else {
|
|
4103
|
+
callbacks.push({ callback: cb, wait: wait });
|
|
4104
|
+
}
|
|
4029
4105
|
}
|
|
4030
4106
|
function id() {
|
|
4031
4107
|
return data$2 ? [data$2.userId, data$2.sessionId, data$2.pageNum].join("." /* Constant.Dot */) : "" /* Constant.Empty */;
|
|
@@ -4383,7 +4459,7 @@ function stop$5() {
|
|
|
4383
4459
|
reset$2();
|
|
4384
4460
|
reset$1();
|
|
4385
4461
|
reset$j();
|
|
4386
|
-
stop$
|
|
4462
|
+
stop$D();
|
|
4387
4463
|
status = false;
|
|
4388
4464
|
}
|
|
4389
4465
|
function active() {
|
|
@@ -4472,7 +4548,7 @@ function discover() {
|
|
|
4472
4548
|
return [4 /*yield*/, encode$4(5 /* Event.Discover */, timer, ts)];
|
|
4473
4549
|
case 2:
|
|
4474
4550
|
_a.sent();
|
|
4475
|
-
stop$
|
|
4551
|
+
stop$u(timer);
|
|
4476
4552
|
return [2 /*return*/];
|
|
4477
4553
|
}
|
|
4478
4554
|
});
|
|
@@ -4490,9 +4566,9 @@ function start$3() {
|
|
|
4490
4566
|
}
|
|
4491
4567
|
function stop$3() {
|
|
4492
4568
|
stop$s();
|
|
4493
|
-
stop$
|
|
4569
|
+
stop$v();
|
|
4494
4570
|
stop$f();
|
|
4495
|
-
|
|
4571
|
+
stop$t();
|
|
4496
4572
|
}
|
|
4497
4573
|
|
|
4498
4574
|
var layout = /*#__PURE__*/Object.freeze({
|
|
@@ -4717,7 +4793,7 @@ function stop() {
|
|
|
4717
4793
|
if (active()) {
|
|
4718
4794
|
// Stop modules in the reverse order of their initialization and start queuing up items again
|
|
4719
4795
|
modules.slice().reverse().forEach(function (x) { return measure(x.stop)(); });
|
|
4720
|
-
stop$
|
|
4796
|
+
stop$w();
|
|
4721
4797
|
stop$5();
|
|
4722
4798
|
setup();
|
|
4723
4799
|
}
|
package/package.json
CHANGED
package/rollup.config.ts
CHANGED
|
@@ -46,11 +46,11 @@ export default [
|
|
|
46
46
|
plugins: [
|
|
47
47
|
alias({
|
|
48
48
|
entries: [
|
|
49
|
-
{ find: '@src/
|
|
50
|
-
{ find: '@src/
|
|
51
|
-
{ find:
|
|
52
|
-
{ find:
|
|
53
|
-
{ find:
|
|
49
|
+
{ find: '@src/layout/document', replacement: '@src/layout/document' },
|
|
50
|
+
{ find: '@src/layout/encode', replacement: '@src/insight/encode' },
|
|
51
|
+
{ find: /@src\/interaction\/(change|clipboard|input|pointer|selection)/, replacement: '@src/insight/blank' },
|
|
52
|
+
{ find: /@src\/layout.*/, replacement: '@src/insight/snapshot' },
|
|
53
|
+
{ find: /@src\/performance.*/, replacement: '@src/insight/blank' }
|
|
54
54
|
]
|
|
55
55
|
}),
|
|
56
56
|
resolve(),
|