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.js
CHANGED
|
@@ -80,6 +80,8 @@ function setup() {
|
|
|
80
80
|
if (typeof w !== "undefined") {
|
|
81
81
|
w[c] = function () {
|
|
82
82
|
(w[c].q = w[c].q || []).push(arguments);
|
|
83
|
+
// if the start function was called, don't queue it and instead process the queue
|
|
84
|
+
arguments[0] === "start" && w[c].q.unshift(w[c].q.pop()) && process$7();
|
|
83
85
|
};
|
|
84
86
|
}
|
|
85
87
|
}
|
|
@@ -145,11 +147,11 @@ function time(event) {
|
|
|
145
147
|
var ts = event && event.timeStamp > 0 ? event.timeStamp : performance.now();
|
|
146
148
|
return Math.max(Math.round(ts - startTime), 0);
|
|
147
149
|
}
|
|
148
|
-
function stop$
|
|
150
|
+
function stop$D() {
|
|
149
151
|
startTime = 0;
|
|
150
152
|
}
|
|
151
153
|
|
|
152
|
-
var version$1 = "0.7.
|
|
154
|
+
var version$1 = "0.7.7";
|
|
153
155
|
|
|
154
156
|
// tslint:disable: no-bitwise
|
|
155
157
|
function hash (input, precision) {
|
|
@@ -199,6 +201,7 @@ function text$1(value, hint, privacy, mangle) {
|
|
|
199
201
|
case 3 /* Privacy.TextImage */:
|
|
200
202
|
switch (hint) {
|
|
201
203
|
case "*T" /* Layout.Constant.TextTag */:
|
|
204
|
+
case "data-" /* Layout.Constant.DataAttribute */:
|
|
202
205
|
return mangle ? mangleText(value) : mask(value);
|
|
203
206
|
case "src":
|
|
204
207
|
case "srcset":
|
|
@@ -217,6 +220,7 @@ function text$1(value, hint, privacy, mangle) {
|
|
|
217
220
|
case 4 /* Privacy.Exclude */:
|
|
218
221
|
switch (hint) {
|
|
219
222
|
case "*T" /* Layout.Constant.TextTag */:
|
|
223
|
+
case "data-" /* Layout.Constant.DataAttribute */:
|
|
220
224
|
return mangle ? mangleText(value) : mask(value);
|
|
221
225
|
case "value":
|
|
222
226
|
case "input":
|
|
@@ -226,6 +230,25 @@ function text$1(value, hint, privacy, mangle) {
|
|
|
226
230
|
case "checksum":
|
|
227
231
|
return "" /* Data.Constant.Empty */;
|
|
228
232
|
}
|
|
233
|
+
break;
|
|
234
|
+
case 5 /* Privacy.Snapshot */:
|
|
235
|
+
switch (hint) {
|
|
236
|
+
case "*T" /* Layout.Constant.TextTag */:
|
|
237
|
+
case "data-" /* Layout.Constant.DataAttribute */:
|
|
238
|
+
return scrub(value);
|
|
239
|
+
case "value":
|
|
240
|
+
case "input":
|
|
241
|
+
case "click":
|
|
242
|
+
case "change":
|
|
243
|
+
return Array(5 /* Data.Setting.WordLength */).join("\u2022" /* Data.Constant.Mask */);
|
|
244
|
+
case "checksum":
|
|
245
|
+
case "src":
|
|
246
|
+
case "srcset":
|
|
247
|
+
case "alt":
|
|
248
|
+
case "title":
|
|
249
|
+
return "" /* Data.Constant.Empty */;
|
|
250
|
+
}
|
|
251
|
+
break;
|
|
229
252
|
}
|
|
230
253
|
}
|
|
231
254
|
return value;
|
|
@@ -253,6 +276,10 @@ function mangleText(value) {
|
|
|
253
276
|
function mask(value) {
|
|
254
277
|
return value.replace(catchallRegex, "\u2022" /* Data.Constant.Mask */);
|
|
255
278
|
}
|
|
279
|
+
function scrub(value) {
|
|
280
|
+
regex(); // Initialize regular expressions
|
|
281
|
+
return value.replace(letterRegex, "\u25AA" /* Data.Constant.Letter */).replace(digitRegex, "\u25AB" /* Data.Constant.Digit */);
|
|
282
|
+
}
|
|
256
283
|
function mangleToken(value) {
|
|
257
284
|
var length = ((Math.floor(value.length / 5 /* Data.Setting.WordLength */) + 1) * 5 /* Data.Setting.WordLength */);
|
|
258
285
|
var output = "" /* Layout.Constant.Empty */;
|
|
@@ -261,13 +288,7 @@ function mangleToken(value) {
|
|
|
261
288
|
}
|
|
262
289
|
return output;
|
|
263
290
|
}
|
|
264
|
-
function
|
|
265
|
-
var spaceIndex = -1;
|
|
266
|
-
var gap = 0;
|
|
267
|
-
var hasDigit = false;
|
|
268
|
-
var hasEmail = false;
|
|
269
|
-
var hasWhitespace = false;
|
|
270
|
-
var array = null;
|
|
291
|
+
function regex() {
|
|
271
292
|
// Initialize unicode regex, if supported by the browser
|
|
272
293
|
// Reference: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions/Unicode_Property_Escapes
|
|
273
294
|
if (unicodeRegex && digitRegex === null) {
|
|
@@ -280,6 +301,15 @@ function redact(value) {
|
|
|
280
301
|
unicodeRegex = false;
|
|
281
302
|
}
|
|
282
303
|
}
|
|
304
|
+
}
|
|
305
|
+
function redact(value) {
|
|
306
|
+
var spaceIndex = -1;
|
|
307
|
+
var gap = 0;
|
|
308
|
+
var hasDigit = false;
|
|
309
|
+
var hasEmail = false;
|
|
310
|
+
var hasWhitespace = false;
|
|
311
|
+
var array = null;
|
|
312
|
+
regex(); // Initialize regular expressions
|
|
283
313
|
for (var i = 0; i < value.length; i++) {
|
|
284
314
|
var c = value.charCodeAt(i);
|
|
285
315
|
hasDigit = hasDigit || (c >= 48 /* Data.Character.Zero */ && c <= 57 /* Data.Character.Nine */); // Check for digits in the current word
|
|
@@ -391,7 +421,7 @@ function compute$c() {
|
|
|
391
421
|
encode$1(4 /* Event.Baseline */);
|
|
392
422
|
}
|
|
393
423
|
}
|
|
394
|
-
function stop$
|
|
424
|
+
function stop$C() {
|
|
395
425
|
reset$q();
|
|
396
426
|
}
|
|
397
427
|
|
|
@@ -402,7 +432,7 @@ var baseline = /*#__PURE__*/Object.freeze({
|
|
|
402
432
|
reset: reset$q,
|
|
403
433
|
start: start$F,
|
|
404
434
|
get state () { return state$a; },
|
|
405
|
-
stop: stop$
|
|
435
|
+
stop: stop$C,
|
|
406
436
|
track: track$7,
|
|
407
437
|
visibility: visibility
|
|
408
438
|
});
|
|
@@ -428,7 +458,7 @@ function start$E() {
|
|
|
428
458
|
updates$3 = {};
|
|
429
459
|
count$1(5 /* Metric.InvokeCount */);
|
|
430
460
|
}
|
|
431
|
-
function stop$
|
|
461
|
+
function stop$B() {
|
|
432
462
|
data$i = {};
|
|
433
463
|
updates$3 = {};
|
|
434
464
|
}
|
|
@@ -506,7 +536,7 @@ function ping() {
|
|
|
506
536
|
suspend();
|
|
507
537
|
}
|
|
508
538
|
}
|
|
509
|
-
function stop$
|
|
539
|
+
function stop$A() {
|
|
510
540
|
clearTimeout(timeout$6);
|
|
511
541
|
last = 0;
|
|
512
542
|
interval = 0;
|
|
@@ -517,14 +547,14 @@ var ping$1 = /*#__PURE__*/Object.freeze({
|
|
|
517
547
|
get data () { return data$h; },
|
|
518
548
|
reset: reset$o,
|
|
519
549
|
start: start$D,
|
|
520
|
-
stop: stop$
|
|
550
|
+
stop: stop$A
|
|
521
551
|
});
|
|
522
552
|
|
|
523
553
|
var data$g = null;
|
|
524
554
|
function start$C() {
|
|
525
555
|
data$g = {};
|
|
526
556
|
}
|
|
527
|
-
function stop$
|
|
557
|
+
function stop$z() {
|
|
528
558
|
data$g = {};
|
|
529
559
|
}
|
|
530
560
|
function track$6(event, time) {
|
|
@@ -557,7 +587,7 @@ var summary = /*#__PURE__*/Object.freeze({
|
|
|
557
587
|
get data () { return data$g; },
|
|
558
588
|
reset: reset$n,
|
|
559
589
|
start: start$C,
|
|
560
|
-
stop: stop$
|
|
590
|
+
stop: stop$z,
|
|
561
591
|
track: track$6
|
|
562
592
|
});
|
|
563
593
|
|
|
@@ -586,7 +616,7 @@ function upgrade(key) {
|
|
|
586
616
|
encode$1(3 /* Event.Upgrade */);
|
|
587
617
|
}
|
|
588
618
|
}
|
|
589
|
-
function stop$
|
|
619
|
+
function stop$y() {
|
|
590
620
|
data$f = null;
|
|
591
621
|
}
|
|
592
622
|
|
|
@@ -594,7 +624,7 @@ var upgrade$1 = /*#__PURE__*/Object.freeze({
|
|
|
594
624
|
__proto__: null,
|
|
595
625
|
get data () { return data$f; },
|
|
596
626
|
start: start$B,
|
|
597
|
-
stop: stop$
|
|
627
|
+
stop: stop$y,
|
|
598
628
|
upgrade: upgrade
|
|
599
629
|
});
|
|
600
630
|
|
|
@@ -634,7 +664,7 @@ function compute$9() {
|
|
|
634
664
|
function reset$m() {
|
|
635
665
|
data$e = {};
|
|
636
666
|
}
|
|
637
|
-
function stop$
|
|
667
|
+
function stop$x() {
|
|
638
668
|
reset$m();
|
|
639
669
|
}
|
|
640
670
|
|
|
@@ -646,7 +676,7 @@ var variable = /*#__PURE__*/Object.freeze({
|
|
|
646
676
|
reset: reset$m,
|
|
647
677
|
set: set,
|
|
648
678
|
start: start$A,
|
|
649
|
-
stop: stop$
|
|
679
|
+
stop: stop$x
|
|
650
680
|
});
|
|
651
681
|
|
|
652
682
|
/******************************************************************************
|
|
@@ -766,13 +796,13 @@ function start$z() {
|
|
|
766
796
|
start$E();
|
|
767
797
|
modules$1.forEach(function (x) { return measure(x.start)(); });
|
|
768
798
|
}
|
|
769
|
-
function stop$
|
|
799
|
+
function stop$w() {
|
|
770
800
|
// Stop modules in the reverse order of their initialization
|
|
771
801
|
// The ordering below should respect inter-module dependency.
|
|
772
802
|
// E.g. if upgrade depends on upload, then upgrade needs to end before upload.
|
|
773
803
|
// Similarly, if upload depends on metadata, upload needs to end before metadata.
|
|
774
804
|
modules$1.slice().reverse().forEach(function (x) { return measure(x.stop)(); });
|
|
775
|
-
stop$
|
|
805
|
+
stop$B();
|
|
776
806
|
}
|
|
777
807
|
function compute$8() {
|
|
778
808
|
compute$9();
|
|
@@ -922,7 +952,7 @@ function start$x() {
|
|
|
922
952
|
reset$k();
|
|
923
953
|
parse$1(document, true);
|
|
924
954
|
}
|
|
925
|
-
function stop$
|
|
955
|
+
function stop$v() {
|
|
926
956
|
reset$k();
|
|
927
957
|
}
|
|
928
958
|
function reset$k() {
|
|
@@ -1269,7 +1299,7 @@ var dom = /*#__PURE__*/Object.freeze({
|
|
|
1269
1299
|
parse: parse$1,
|
|
1270
1300
|
sameorigin: sameorigin,
|
|
1271
1301
|
start: start$x,
|
|
1272
|
-
stop: stop$
|
|
1302
|
+
stop: stop$v,
|
|
1273
1303
|
update: update$1,
|
|
1274
1304
|
updates: updates$2
|
|
1275
1305
|
});
|
|
@@ -1380,7 +1410,7 @@ function restart$2(timer) {
|
|
|
1380
1410
|
tracker[id].yield = y;
|
|
1381
1411
|
}
|
|
1382
1412
|
}
|
|
1383
|
-
function stop$
|
|
1413
|
+
function stop$u(timer) {
|
|
1384
1414
|
var end = performance.now();
|
|
1385
1415
|
var id = key(timer);
|
|
1386
1416
|
var duration = end - tracker[id].start;
|
|
@@ -1400,7 +1430,7 @@ function suspend$1(timer) {
|
|
|
1400
1430
|
case 0:
|
|
1401
1431
|
id = key(timer);
|
|
1402
1432
|
if (!(id in tracker)) return [3 /*break*/, 2];
|
|
1403
|
-
stop$
|
|
1433
|
+
stop$u(timer);
|
|
1404
1434
|
_a = tracker[id];
|
|
1405
1435
|
return [4 /*yield*/, wait()];
|
|
1406
1436
|
case 1:
|
|
@@ -1543,7 +1573,7 @@ function compute$7() {
|
|
|
1543
1573
|
encode$4(8 /* Event.Document */);
|
|
1544
1574
|
}
|
|
1545
1575
|
}
|
|
1546
|
-
function
|
|
1576
|
+
function stop$t() {
|
|
1547
1577
|
reset$i();
|
|
1548
1578
|
}
|
|
1549
1579
|
|
|
@@ -1678,7 +1708,7 @@ function str$1(input) {
|
|
|
1678
1708
|
return input.toString(36);
|
|
1679
1709
|
}
|
|
1680
1710
|
function attribute(key, value, privacy) {
|
|
1681
|
-
return "".concat(key, "=").concat(text$1(value, key, privacy));
|
|
1711
|
+
return "".concat(key, "=").concat(text$1(value, key.indexOf("data-" /* Constant.DataAttribute */) === 0 ? "data-" /* Constant.DataAttribute */ : key, privacy));
|
|
1682
1712
|
}
|
|
1683
1713
|
|
|
1684
1714
|
var state$8 = [];
|
|
@@ -1851,7 +1881,7 @@ function stop$r() {
|
|
|
1851
1881
|
reset$g();
|
|
1852
1882
|
}
|
|
1853
1883
|
|
|
1854
|
-
function offset
|
|
1884
|
+
function offset(element) {
|
|
1855
1885
|
var output = { x: 0, y: 0 };
|
|
1856
1886
|
// Walk up the chain to ensure we compute offset distance correctly
|
|
1857
1887
|
// In case where we may have nested IFRAMEs, we keep walking up until we get to the top most parent page
|
|
@@ -1924,6 +1954,18 @@ function handler$2(event, root, evt) {
|
|
|
1924
1954
|
schedule$1(encode$3.bind(this, event));
|
|
1925
1955
|
}
|
|
1926
1956
|
}
|
|
1957
|
+
function link(node) {
|
|
1958
|
+
while (node && node !== document) {
|
|
1959
|
+
if (node.nodeType === Node.ELEMENT_NODE) {
|
|
1960
|
+
var element = node;
|
|
1961
|
+
if (element.tagName === "A") {
|
|
1962
|
+
return element;
|
|
1963
|
+
}
|
|
1964
|
+
}
|
|
1965
|
+
node = node.parentNode;
|
|
1966
|
+
}
|
|
1967
|
+
return null;
|
|
1968
|
+
}
|
|
1927
1969
|
function text(element) {
|
|
1928
1970
|
var output = null;
|
|
1929
1971
|
if (element) {
|
|
@@ -2661,7 +2703,7 @@ function getAttributes(element) {
|
|
|
2661
2703
|
|
|
2662
2704
|
function traverse (root, timer, source) {
|
|
2663
2705
|
return __awaiter(this, void 0, void 0, function () {
|
|
2664
|
-
var queue,
|
|
2706
|
+
var queue, entry, next, state, subnode;
|
|
2665
2707
|
return __generator(this, function (_a) {
|
|
2666
2708
|
switch (_a.label) {
|
|
2667
2709
|
case 0:
|
|
@@ -2669,8 +2711,8 @@ function traverse (root, timer, source) {
|
|
|
2669
2711
|
_a.label = 1;
|
|
2670
2712
|
case 1:
|
|
2671
2713
|
if (!(queue.length > 0)) return [3 /*break*/, 4];
|
|
2672
|
-
|
|
2673
|
-
next =
|
|
2714
|
+
entry = queue.shift();
|
|
2715
|
+
next = entry.firstChild;
|
|
2674
2716
|
while (next) {
|
|
2675
2717
|
queue.push(next);
|
|
2676
2718
|
next = next.nextSibling;
|
|
@@ -2685,7 +2727,7 @@ function traverse (root, timer, source) {
|
|
|
2685
2727
|
if (state === 2 /* Task.Stop */) {
|
|
2686
2728
|
return [3 /*break*/, 4];
|
|
2687
2729
|
}
|
|
2688
|
-
subnode = processNode(
|
|
2730
|
+
subnode = processNode(entry, source);
|
|
2689
2731
|
if (subnode) {
|
|
2690
2732
|
queue.push(subnode);
|
|
2691
2733
|
}
|
|
@@ -2868,7 +2910,7 @@ function process$1() {
|
|
|
2868
2910
|
_b.sent();
|
|
2869
2911
|
return [3 /*break*/, 1];
|
|
2870
2912
|
case 8:
|
|
2871
|
-
stop$
|
|
2913
|
+
stop$u(timer);
|
|
2872
2914
|
return [2 /*return*/];
|
|
2873
2915
|
}
|
|
2874
2916
|
});
|
|
@@ -3000,18 +3042,6 @@ function target(evt) {
|
|
|
3000
3042
|
active$2(); // Mark active periods of time so mutations can continue uninterrupted
|
|
3001
3043
|
return node.nodeType === Node.DOCUMENT_NODE ? node.documentElement : node;
|
|
3002
3044
|
}
|
|
3003
|
-
function link(node) {
|
|
3004
|
-
while (node && node !== document) {
|
|
3005
|
-
if (node.nodeType === Node.ELEMENT_NODE) {
|
|
3006
|
-
var element = node;
|
|
3007
|
-
if (element.tagName === "A") {
|
|
3008
|
-
return element;
|
|
3009
|
-
}
|
|
3010
|
-
}
|
|
3011
|
-
node = node.parentNode;
|
|
3012
|
-
}
|
|
3013
|
-
return null;
|
|
3014
|
-
}
|
|
3015
3045
|
function metadata$2(node, event, text) {
|
|
3016
3046
|
if (text === void 0) { text = null; }
|
|
3017
3047
|
// If the node is null, we return a reserved value for id: 0. Valid assignment of id begins from 1+.
|
|
@@ -3070,7 +3100,7 @@ function encode$3 (type, ts) {
|
|
|
3070
3100
|
entry = _c[_b];
|
|
3071
3101
|
cTarget = metadata$2(entry.data.target, entry.event, entry.data.text);
|
|
3072
3102
|
tokens = [entry.time, entry.event];
|
|
3073
|
-
cHash = cTarget.hash.join("." /* Constant.Dot */)
|
|
3103
|
+
cHash = cTarget.hash ? cTarget.hash.join("." /* Constant.Dot */) : "" /* Constant.Empty */;
|
|
3074
3104
|
tokens.push(cTarget.id);
|
|
3075
3105
|
tokens.push(entry.data.x);
|
|
3076
3106
|
tokens.push(entry.data.y);
|
|
@@ -3290,6 +3320,7 @@ function queue(tokens, transmit) {
|
|
|
3290
3320
|
discoverBytes += event_1.length;
|
|
3291
3321
|
case 37 /* Event.Box */:
|
|
3292
3322
|
case 6 /* Event.Mutation */:
|
|
3323
|
+
case 43 /* Event.Snapshot */:
|
|
3293
3324
|
playbackBytes += event_1.length;
|
|
3294
3325
|
playback.push(event_1);
|
|
3295
3326
|
break;
|
|
@@ -3630,12 +3661,18 @@ function stop$c() {
|
|
|
3630
3661
|
}
|
|
3631
3662
|
|
|
3632
3663
|
var data$5 = {};
|
|
3633
|
-
var keys =
|
|
3664
|
+
var keys = new Set();
|
|
3634
3665
|
var variables = {};
|
|
3635
3666
|
var selectors = {};
|
|
3667
|
+
var hashes = {};
|
|
3636
3668
|
function start$c() {
|
|
3637
3669
|
reset$4();
|
|
3638
3670
|
}
|
|
3671
|
+
// Input string is of the following form:
|
|
3672
|
+
// EXTRACT 101 { "1": ".class1", "2": "~window.a.b", "3": "!abc"}
|
|
3673
|
+
// Which will set up event 101 to grab the contents of the class1 selector into component 1,
|
|
3674
|
+
// the javascript evaluated contents of window.a.b into component 2,
|
|
3675
|
+
// and the contents of Clarity's hash abc into component 3
|
|
3639
3676
|
function trigger$1(input) {
|
|
3640
3677
|
try {
|
|
3641
3678
|
var parts = input && input.length > 0 ? input.split(/ (.*)/) : ["" /* Constant.Empty */];
|
|
@@ -3643,10 +3680,19 @@ function trigger$1(input) {
|
|
|
3643
3680
|
var values = parts.length > 1 ? JSON.parse(parts[1]) : {};
|
|
3644
3681
|
variables[key] = {};
|
|
3645
3682
|
selectors[key] = {};
|
|
3683
|
+
hashes[key] = {};
|
|
3646
3684
|
for (var v in values) {
|
|
3685
|
+
// values is a set of strings for proper JSON parsing, but it's more efficient
|
|
3686
|
+
// to interact with them as numbers
|
|
3647
3687
|
var id = parseInt(v);
|
|
3648
3688
|
var value = values[v];
|
|
3649
|
-
var source =
|
|
3689
|
+
var source = 2 /* ExtractSource.Text */;
|
|
3690
|
+
if (value.startsWith("~" /* Constant.Tilde */)) {
|
|
3691
|
+
source = 0 /* ExtractSource.Javascript */;
|
|
3692
|
+
}
|
|
3693
|
+
else if (value.startsWith("!" /* Constant.Bang */)) {
|
|
3694
|
+
source = 4 /* ExtractSource.Hash */;
|
|
3695
|
+
}
|
|
3650
3696
|
switch (source) {
|
|
3651
3697
|
case 0 /* ExtractSource.Javascript */:
|
|
3652
3698
|
var variable = value.substring(1, value.length);
|
|
@@ -3655,6 +3701,10 @@ function trigger$1(input) {
|
|
|
3655
3701
|
case 2 /* ExtractSource.Text */:
|
|
3656
3702
|
selectors[key][id] = value;
|
|
3657
3703
|
break;
|
|
3704
|
+
case 4 /* ExtractSource.Hash */:
|
|
3705
|
+
var hash = value.substring(1, value.length);
|
|
3706
|
+
hashes[key][id] = hash;
|
|
3707
|
+
break;
|
|
3658
3708
|
}
|
|
3659
3709
|
}
|
|
3660
3710
|
}
|
|
@@ -3669,44 +3719,56 @@ function compute$4() {
|
|
|
3669
3719
|
try {
|
|
3670
3720
|
for (var v in variables) {
|
|
3671
3721
|
var key = parseInt(v);
|
|
3672
|
-
|
|
3673
|
-
|
|
3674
|
-
|
|
3675
|
-
|
|
3676
|
-
|
|
3677
|
-
|
|
3678
|
-
update(key, variableKey, value);
|
|
3679
|
-
}
|
|
3722
|
+
var variableData = variables[key];
|
|
3723
|
+
for (var v_1 in variableData) {
|
|
3724
|
+
var variableKey = parseInt(v_1);
|
|
3725
|
+
var value = str(evaluate(clone(variableData[variableKey])));
|
|
3726
|
+
if (value) {
|
|
3727
|
+
update(key, variableKey, value);
|
|
3680
3728
|
}
|
|
3681
|
-
|
|
3682
|
-
|
|
3683
|
-
|
|
3684
|
-
|
|
3685
|
-
|
|
3686
|
-
|
|
3687
|
-
|
|
3688
|
-
|
|
3729
|
+
}
|
|
3730
|
+
var selectorData = selectors[key];
|
|
3731
|
+
for (var s in selectorData) {
|
|
3732
|
+
var selectorKey = parseInt(s);
|
|
3733
|
+
var nodes = document.querySelectorAll(selectorData[selectorKey]);
|
|
3734
|
+
if (nodes) {
|
|
3735
|
+
var text = Array.from(nodes).map(function (e) { return e.innerText; });
|
|
3736
|
+
update(key, selectorKey, text.join("<SEP>" /* Constant.Seperator */).substring(0, 10000 /* Setting.ExtractLimit */));
|
|
3689
3737
|
}
|
|
3690
3738
|
}
|
|
3739
|
+
var hashData = hashes[key];
|
|
3740
|
+
for (var h in hashData) {
|
|
3741
|
+
var hashKey = parseInt(h);
|
|
3742
|
+
var content = hashText(hashData[hashKey]).trim().substring(0, 10000 /* Setting.ExtractLimit */);
|
|
3743
|
+
update(key, hashKey, content);
|
|
3744
|
+
}
|
|
3745
|
+
}
|
|
3746
|
+
if (keys.size > 0) {
|
|
3747
|
+
encode$1(40 /* Event.Extract */);
|
|
3691
3748
|
}
|
|
3692
3749
|
}
|
|
3693
3750
|
catch (e) {
|
|
3694
3751
|
log$1(5 /* Code.Selector */, 1 /* Severity.Warning */, e ? e.name : null);
|
|
3695
3752
|
}
|
|
3696
|
-
encode$1(40 /* Event.Extract */);
|
|
3697
3753
|
}
|
|
3698
3754
|
function reset$4() {
|
|
3699
|
-
|
|
3700
|
-
keys = [];
|
|
3701
|
-
variables = {};
|
|
3702
|
-
selectors = {};
|
|
3755
|
+
keys.clear();
|
|
3703
3756
|
}
|
|
3704
3757
|
function update(key, subkey, value) {
|
|
3758
|
+
var update = false;
|
|
3705
3759
|
if (!(key in data$5)) {
|
|
3706
|
-
data$5[key] =
|
|
3707
|
-
|
|
3760
|
+
data$5[key] = {};
|
|
3761
|
+
update = true;
|
|
3708
3762
|
}
|
|
3709
|
-
|
|
3763
|
+
if (!isEmpty(hashes[key])
|
|
3764
|
+
&& (!(subkey in data$5[key]) || data$5[key][subkey] != value)) {
|
|
3765
|
+
update = true;
|
|
3766
|
+
}
|
|
3767
|
+
data$5[key][subkey] = value;
|
|
3768
|
+
if (update) {
|
|
3769
|
+
keys.add(key);
|
|
3770
|
+
}
|
|
3771
|
+
return;
|
|
3710
3772
|
}
|
|
3711
3773
|
function stop$b() {
|
|
3712
3774
|
reset$4();
|
|
@@ -3769,6 +3831,9 @@ function match(base, condition) {
|
|
|
3769
3831
|
return prop.length > 1 ? base[prop[0]] == prop[1] : base[prop[0]];
|
|
3770
3832
|
}
|
|
3771
3833
|
return true;
|
|
3834
|
+
}
|
|
3835
|
+
function isEmpty(obj) {
|
|
3836
|
+
return Object.keys(obj).length == 0;
|
|
3772
3837
|
}
|
|
3773
3838
|
|
|
3774
3839
|
function encode$1 (event) {
|
|
@@ -3871,11 +3936,16 @@ function encode$1 (event) {
|
|
|
3871
3936
|
break;
|
|
3872
3937
|
case 40 /* Event.Extract */:
|
|
3873
3938
|
var extractKeys = keys;
|
|
3874
|
-
|
|
3875
|
-
var e = extractKeys_1[_d];
|
|
3939
|
+
extractKeys.forEach((function (e) {
|
|
3876
3940
|
tokens.push(e);
|
|
3877
|
-
|
|
3878
|
-
|
|
3941
|
+
var token = [];
|
|
3942
|
+
for (var d in data$5[e]) {
|
|
3943
|
+
var key = parseInt(d, 10);
|
|
3944
|
+
token.push(key);
|
|
3945
|
+
token.push(data$5[e][d]);
|
|
3946
|
+
}
|
|
3947
|
+
tokens.push(token);
|
|
3948
|
+
}));
|
|
3879
3949
|
reset$4();
|
|
3880
3950
|
queue(tokens, false);
|
|
3881
3951
|
}
|
|
@@ -4023,11 +4093,17 @@ function stop$8() {
|
|
|
4023
4093
|
}
|
|
4024
4094
|
function metadata(cb, wait) {
|
|
4025
4095
|
if (wait === void 0) { wait = true; }
|
|
4026
|
-
|
|
4096
|
+
var upgraded = config$1.lean ? 0 /* BooleanFlag.False */ : 1 /* BooleanFlag.True */;
|
|
4097
|
+
// if caller hasn't specified that they want to skip waiting for upgrade but we've already upgraded, we need to
|
|
4098
|
+
// directly execute the callback rather than adding to our list as we only process callbacks at the moment
|
|
4099
|
+
// we go through the upgrading flow.
|
|
4100
|
+
if (data$2 && (upgraded || wait === false)) {
|
|
4027
4101
|
// Immediately invoke the callback if the caller explicitly doesn't want to wait for the upgrade confirmation
|
|
4028
4102
|
cb(data$2, !config$1.lean);
|
|
4029
4103
|
}
|
|
4030
|
-
|
|
4104
|
+
else {
|
|
4105
|
+
callbacks.push({ callback: cb, wait: wait });
|
|
4106
|
+
}
|
|
4031
4107
|
}
|
|
4032
4108
|
function id() {
|
|
4033
4109
|
return data$2 ? [data$2.userId, data$2.sessionId, data$2.pageNum].join("." /* Constant.Dot */) : "" /* Constant.Empty */;
|
|
@@ -4385,7 +4461,7 @@ function stop$5() {
|
|
|
4385
4461
|
reset$2();
|
|
4386
4462
|
reset$1();
|
|
4387
4463
|
reset$j();
|
|
4388
|
-
stop$
|
|
4464
|
+
stop$D();
|
|
4389
4465
|
status = false;
|
|
4390
4466
|
}
|
|
4391
4467
|
function active() {
|
|
@@ -4474,7 +4550,7 @@ function discover() {
|
|
|
4474
4550
|
return [4 /*yield*/, encode$4(5 /* Event.Discover */, timer, ts)];
|
|
4475
4551
|
case 2:
|
|
4476
4552
|
_a.sent();
|
|
4477
|
-
stop$
|
|
4553
|
+
stop$u(timer);
|
|
4478
4554
|
return [2 /*return*/];
|
|
4479
4555
|
}
|
|
4480
4556
|
});
|
|
@@ -4492,9 +4568,9 @@ function start$3() {
|
|
|
4492
4568
|
}
|
|
4493
4569
|
function stop$3() {
|
|
4494
4570
|
stop$s();
|
|
4495
|
-
stop$
|
|
4571
|
+
stop$v();
|
|
4496
4572
|
stop$f();
|
|
4497
|
-
|
|
4573
|
+
stop$t();
|
|
4498
4574
|
}
|
|
4499
4575
|
|
|
4500
4576
|
var layout = /*#__PURE__*/Object.freeze({
|
|
@@ -4719,7 +4795,7 @@ function stop() {
|
|
|
4719
4795
|
if (active()) {
|
|
4720
4796
|
// Stop modules in the reverse order of their initialization and start queuing up items again
|
|
4721
4797
|
modules.slice().reverse().forEach(function (x) { return measure(x.stop)(); });
|
|
4722
|
-
stop$
|
|
4798
|
+
stop$w();
|
|
4723
4799
|
stop$5();
|
|
4724
4800
|
setup();
|
|
4725
4801
|
}
|