@atlaskit/react-ufo 3.12.4 → 3.13.0
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/CHANGELOG.md +16 -0
- package/dist/cjs/create-experimental-interaction-metrics-payload/index.js +2 -1
- package/dist/cjs/create-payload/utils/get-vc-metrics.js +2 -1
- package/dist/cjs/vc/index.js +4 -2
- package/dist/cjs/vc/vc-observer/getVCRevisionDebugDetails.js +41 -0
- package/dist/cjs/vc/vc-observer/index.js +63 -33
- package/dist/cjs/vc/vc-observer/observers/index.js +3 -2
- package/dist/cjs/vc/vc-observer/observers/ssr-placeholders/index.js +38 -12
- package/dist/cjs/vc/vc-observer/observers/ssr-placeholders/ssr-scripts/collectSSRPlaceholderDimensions.js +9 -0
- package/dist/cjs/vc/vc-observer-new/index.js +13 -7
- package/dist/cjs/vc/vc-observer-new/metric-calculator/abstract-base-vc-calculator.js +211 -36
- package/dist/cjs/vc/vc-observer-new/metric-calculator/fy25_03/index.js +4 -4
- package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/index.js +94 -4
- package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/test-with-debug-info.js +108 -0
- package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/index.js +16 -57
- package/dist/cjs/vc/vc-observer-new/viewport-observer/index.js +15 -5
- package/dist/cjs/vc/vc-observer-new/viewport-observer/mutation-observer/index.js +3 -1
- package/dist/es2019/create-experimental-interaction-metrics-payload/index.js +2 -1
- package/dist/es2019/create-payload/utils/get-vc-metrics.js +1 -0
- package/dist/es2019/vc/index.js +4 -2
- package/dist/es2019/vc/vc-observer/getVCRevisionDebugDetails.js +32 -0
- package/dist/es2019/vc/vc-observer/index.js +36 -1
- package/dist/es2019/vc/vc-observer/observers/index.js +2 -1
- package/dist/es2019/vc/vc-observer/observers/ssr-placeholders/index.js +38 -13
- package/dist/es2019/vc/vc-observer/observers/ssr-placeholders/ssr-scripts/collectSSRPlaceholderDimensions.js +9 -1
- package/dist/es2019/vc/vc-observer-new/index.js +12 -6
- package/dist/es2019/vc/vc-observer-new/metric-calculator/abstract-base-vc-calculator.js +115 -17
- package/dist/es2019/vc/vc-observer-new/metric-calculator/fy25_03/index.js +4 -4
- package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/index.js +44 -1
- package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/test-with-debug-info.js +75 -0
- package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/index.js +2 -20
- package/dist/es2019/vc/vc-observer-new/viewport-observer/index.js +15 -5
- package/dist/es2019/vc/vc-observer-new/viewport-observer/mutation-observer/index.js +3 -1
- package/dist/esm/create-experimental-interaction-metrics-payload/index.js +2 -1
- package/dist/esm/create-payload/utils/get-vc-metrics.js +2 -1
- package/dist/esm/vc/index.js +4 -2
- package/dist/esm/vc/vc-observer/getVCRevisionDebugDetails.js +35 -0
- package/dist/esm/vc/vc-observer/index.js +63 -33
- package/dist/esm/vc/vc-observer/observers/index.js +3 -2
- package/dist/esm/vc/vc-observer/observers/ssr-placeholders/index.js +38 -12
- package/dist/esm/vc/vc-observer/observers/ssr-placeholders/ssr-scripts/collectSSRPlaceholderDimensions.js +9 -0
- package/dist/esm/vc/vc-observer-new/index.js +13 -7
- package/dist/esm/vc/vc-observer-new/metric-calculator/abstract-base-vc-calculator.js +211 -36
- package/dist/esm/vc/vc-observer-new/metric-calculator/fy25_03/index.js +4 -4
- package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/index.js +94 -5
- package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/test-with-debug-info.js +106 -0
- package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/index.js +2 -55
- package/dist/esm/vc/vc-observer-new/viewport-observer/index.js +15 -5
- package/dist/esm/vc/vc-observer-new/viewport-observer/mutation-observer/index.js +3 -1
- package/dist/types/config/index.d.ts +1 -0
- package/dist/types/vc/types.d.ts +2 -0
- package/dist/types/vc/vc-observer/getVCRevisionDebugDetails.d.ts +30 -0
- package/dist/types/vc/vc-observer/index.d.ts +1 -1
- package/dist/types/vc/vc-observer/observers/index.d.ts +3 -0
- package/dist/types/vc/vc-observer/observers/ssr-placeholders/index.d.ts +4 -1
- package/dist/types/vc/vc-observer/observers/ssr-placeholders/ssr-scripts/collectSSRPlaceholderDimensions.d.ts +1 -1
- package/dist/types/vc/vc-observer-new/index.d.ts +2 -0
- package/dist/types/vc/vc-observer-new/metric-calculator/abstract-base-vc-calculator.d.ts +4 -1
- package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/index.d.ts +5 -1
- package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/test-with-debug-info.d.ts +1 -0
- package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/index.d.ts +2 -4
- package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/types.d.ts +20 -2
- package/dist/types/vc/vc-observer-new/metric-calculator/types.d.ts +2 -0
- package/dist/types/vc/vc-observer-new/types.d.ts +5 -1
- package/dist/types/vc/vc-observer-new/viewport-observer/mutation-observer/index.d.ts +2 -0
- package/dist/types/vc/vc-observer-new/viewport-observer/types.d.ts +2 -0
- package/dist/types-ts4.5/config/index.d.ts +1 -0
- package/dist/types-ts4.5/vc/types.d.ts +2 -0
- package/dist/types-ts4.5/vc/vc-observer/getVCRevisionDebugDetails.d.ts +30 -0
- package/dist/types-ts4.5/vc/vc-observer/index.d.ts +1 -1
- package/dist/types-ts4.5/vc/vc-observer/observers/index.d.ts +3 -0
- package/dist/types-ts4.5/vc/vc-observer/observers/ssr-placeholders/index.d.ts +4 -1
- package/dist/types-ts4.5/vc/vc-observer/observers/ssr-placeholders/ssr-scripts/collectSSRPlaceholderDimensions.d.ts +1 -1
- package/dist/types-ts4.5/vc/vc-observer-new/index.d.ts +2 -0
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/abstract-base-vc-calculator.d.ts +4 -1
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/index.d.ts +5 -1
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/test-with-debug-info.d.ts +1 -0
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/index.d.ts +2 -4
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/types.d.ts +20 -2
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/types.d.ts +2 -0
- package/dist/types-ts4.5/vc/vc-observer-new/types.d.ts +5 -1
- package/dist/types-ts4.5/vc/vc-observer-new/viewport-observer/mutation-observer/index.d.ts +2 -0
- package/dist/types-ts4.5/vc/vc-observer-new/viewport-observer/types.d.ts +2 -0
- package/package.json +4 -1
- package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/heatmap.js +0 -367
- package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/index.js +0 -398
- package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/types.js +0 -5
- package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/calc-union-area.js +0 -152
- package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/index.js +0 -108
- package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/heatmap.js +0 -248
- package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/index.js +0 -263
- package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/types.js +0 -1
- package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/calc-union-area.js +0 -99
- package/dist/es2019/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/index.js +0 -60
- package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/heatmap.js +0 -361
- package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/index.js +0 -391
- package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/types.js +0 -1
- package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/calc-union-area.js +0 -145
- package/dist/esm/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/index.js +0 -101
- package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/heatmap.d.ts +0 -39
- package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/index.d.ts +0 -10
- package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/types.d.ts +0 -43
- package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/calc-union-area.d.ts +0 -12
- package/dist/types/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/index.d.ts +0 -25
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/heatmap.d.ts +0 -39
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/index.d.ts +0 -10
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/heatmap/types.d.ts +0 -43
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/calc-union-area.d.ts +0 -12
- package/dist/types-ts4.5/vc/vc-observer-new/metric-calculator/percentile-calc/rect-sweeping-line/index.d.ts +0 -25
|
@@ -10,85 +10,260 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
|
|
|
10
10
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
11
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
12
12
|
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
13
|
-
var _percentileCalc =
|
|
13
|
+
var _percentileCalc = require("./percentile-calc");
|
|
14
14
|
var _getViewportHeight = _interopRequireDefault(require("./utils/get-viewport-height"));
|
|
15
15
|
var _getViewportWidth = _interopRequireDefault(require("./utils/get-viewport-width"));
|
|
16
|
+
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
|
|
17
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
18
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
16
19
|
var AbstractVCCalculatorBase = exports.default = /*#__PURE__*/function () {
|
|
17
20
|
function AbstractVCCalculatorBase(revisionNo) {
|
|
18
21
|
(0, _classCallCheck2.default)(this, AbstractVCCalculatorBase);
|
|
19
22
|
this.revisionNo = revisionNo;
|
|
20
23
|
}
|
|
21
24
|
return (0, _createClass2.default)(AbstractVCCalculatorBase, [{
|
|
25
|
+
key: "filterViewportEntries",
|
|
26
|
+
value: function filterViewportEntries(entries) {
|
|
27
|
+
return entries.filter(function (entry) {
|
|
28
|
+
return 'rect' in entry.data;
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
}, {
|
|
32
|
+
key: "calculateBasic",
|
|
33
|
+
value: function () {
|
|
34
|
+
var _calculateBasic = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(filteredEntries, startTime, stopTime) {
|
|
35
|
+
var percentiles, viewportEntries, vcLogs;
|
|
36
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
37
|
+
while (1) switch (_context.prev = _context.next) {
|
|
38
|
+
case 0:
|
|
39
|
+
percentiles = [25, 50, 75, 80, 85, 90, 95, 98, 99];
|
|
40
|
+
viewportEntries = this.filterViewportEntries(filteredEntries);
|
|
41
|
+
_context.next = 4;
|
|
42
|
+
return (0, _percentileCalc.calculateTTVCPercentiles)({
|
|
43
|
+
viewport: {
|
|
44
|
+
width: (0, _getViewportWidth.default)(),
|
|
45
|
+
height: (0, _getViewportHeight.default)()
|
|
46
|
+
},
|
|
47
|
+
startTime: startTime,
|
|
48
|
+
stopTime: stopTime,
|
|
49
|
+
orderedEntries: viewportEntries,
|
|
50
|
+
percentiles: percentiles
|
|
51
|
+
});
|
|
52
|
+
case 4:
|
|
53
|
+
vcLogs = _context.sent;
|
|
54
|
+
return _context.abrupt("return", vcLogs);
|
|
55
|
+
case 6:
|
|
56
|
+
case "end":
|
|
57
|
+
return _context.stop();
|
|
58
|
+
}
|
|
59
|
+
}, _callee, this);
|
|
60
|
+
}));
|
|
61
|
+
function calculateBasic(_x, _x2, _x3) {
|
|
62
|
+
return _calculateBasic.apply(this, arguments);
|
|
63
|
+
}
|
|
64
|
+
return calculateBasic;
|
|
65
|
+
}()
|
|
66
|
+
}, {
|
|
67
|
+
key: "calculateWithDebugInfo",
|
|
68
|
+
value: function () {
|
|
69
|
+
var _calculateWithDebugInfo = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(filteredEntries, startTime, stopTime, isPostInteraction, isVCClean, interactionId, dirtyReason) {
|
|
70
|
+
var percentiles, viewportEntries, vcLogs, vcDetails, percentileIndex, entryDataBuffer, _iterator, _step, _entry, time, viewportPercentage, entries, elementNames, previousResult, i, percentile, _ufo_devtool_onVCRev, _ref;
|
|
71
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
72
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
73
|
+
case 0:
|
|
74
|
+
percentiles = [25, 50, 75, 80, 85, 90, 95, 98, 99];
|
|
75
|
+
viewportEntries = this.filterViewportEntries(filteredEntries);
|
|
76
|
+
_context2.next = 4;
|
|
77
|
+
return (0, _percentileCalc.calculateTTVCPercentilesWithDebugInfo)({
|
|
78
|
+
viewport: {
|
|
79
|
+
width: (0, _getViewportWidth.default)(),
|
|
80
|
+
height: (0, _getViewportHeight.default)()
|
|
81
|
+
},
|
|
82
|
+
startTime: startTime,
|
|
83
|
+
stopTime: stopTime,
|
|
84
|
+
orderedEntries: viewportEntries
|
|
85
|
+
});
|
|
86
|
+
case 4:
|
|
87
|
+
vcLogs = _context2.sent;
|
|
88
|
+
vcDetails = {};
|
|
89
|
+
percentileIndex = 0;
|
|
90
|
+
entryDataBuffer = new Set();
|
|
91
|
+
if (!vcLogs) {
|
|
92
|
+
_context2.next = 28;
|
|
93
|
+
break;
|
|
94
|
+
}
|
|
95
|
+
_iterator = _createForOfIteratorHelper(vcLogs);
|
|
96
|
+
_context2.prev = 10;
|
|
97
|
+
_iterator.s();
|
|
98
|
+
case 12:
|
|
99
|
+
if ((_step = _iterator.n()).done) {
|
|
100
|
+
_context2.next = 20;
|
|
101
|
+
break;
|
|
102
|
+
}
|
|
103
|
+
_entry = _step.value;
|
|
104
|
+
time = _entry.time, viewportPercentage = _entry.viewportPercentage, entries = _entry.entries; // Only process entries if we haven't reached all percentiles
|
|
105
|
+
if (!(percentileIndex >= percentiles.length)) {
|
|
106
|
+
_context2.next = 17;
|
|
107
|
+
break;
|
|
108
|
+
}
|
|
109
|
+
return _context2.abrupt("break", 20);
|
|
110
|
+
case 17:
|
|
111
|
+
// Check if this entry matches any checkpoint percentiles
|
|
112
|
+
if (viewportPercentage >= percentiles[percentileIndex]) {
|
|
113
|
+
elementNames = entries.map(function (e) {
|
|
114
|
+
return e.elementName;
|
|
115
|
+
}); // Process all matching percentiles in one go
|
|
116
|
+
while (percentileIndex < percentiles.length && viewportPercentage >= percentiles[percentileIndex]) {
|
|
117
|
+
vcDetails["".concat(percentiles[percentileIndex])] = {
|
|
118
|
+
t: Math.round(time),
|
|
119
|
+
e: elementNames
|
|
120
|
+
};
|
|
121
|
+
percentileIndex++;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
// Clear buffer after processing all matching percentiles
|
|
125
|
+
entryDataBuffer.clear();
|
|
126
|
+
} else {
|
|
127
|
+
// Only add to buffer if we haven't reached all percentiles
|
|
128
|
+
entries.forEach(function (e) {
|
|
129
|
+
return entryDataBuffer.add(e);
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
case 18:
|
|
133
|
+
_context2.next = 12;
|
|
134
|
+
break;
|
|
135
|
+
case 20:
|
|
136
|
+
_context2.next = 25;
|
|
137
|
+
break;
|
|
138
|
+
case 22:
|
|
139
|
+
_context2.prev = 22;
|
|
140
|
+
_context2.t0 = _context2["catch"](10);
|
|
141
|
+
_iterator.e(_context2.t0);
|
|
142
|
+
case 25:
|
|
143
|
+
_context2.prev = 25;
|
|
144
|
+
_iterator.f();
|
|
145
|
+
return _context2.finish(25);
|
|
146
|
+
case 28:
|
|
147
|
+
// Fill in any missing percentiles with the last known values
|
|
148
|
+
previousResult = {
|
|
149
|
+
t: 0,
|
|
150
|
+
e: []
|
|
151
|
+
};
|
|
152
|
+
for (i = 0; i < percentiles.length; i++) {
|
|
153
|
+
percentile = percentiles[i];
|
|
154
|
+
if (!(percentile in vcDetails)) {
|
|
155
|
+
vcDetails["".concat(percentile)] = previousResult;
|
|
156
|
+
} else {
|
|
157
|
+
previousResult = vcDetails["".concat(percentile)];
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
// Handle devtool callback
|
|
162
|
+
if (!isPostInteraction && typeof window !== 'undefined' && typeof window.__ufo_devtool_onVCRevisionReady__ === 'function' && (0, _platformFeatureFlags.fg)('platform_ufo_ttvc_v3_devtool')) {
|
|
163
|
+
try {
|
|
164
|
+
(_ufo_devtool_onVCRev = (_ref = window).__ufo_devtool_onVCRevisionReady__) === null || _ufo_devtool_onVCRev === void 0 || _ufo_devtool_onVCRev.call(_ref, {
|
|
165
|
+
revision: this.revisionNo,
|
|
166
|
+
isClean: isVCClean,
|
|
167
|
+
abortReason: dirtyReason,
|
|
168
|
+
vcLogs: vcLogs,
|
|
169
|
+
interactionId: interactionId
|
|
170
|
+
});
|
|
171
|
+
} catch (e) {
|
|
172
|
+
// if any error communicating with devtool, we don't want to break the app
|
|
173
|
+
// eslint-disable-next-line no-console
|
|
174
|
+
console.error('Error in onVCRevisionReady', e);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
return _context2.abrupt("return", vcDetails);
|
|
178
|
+
case 32:
|
|
179
|
+
case "end":
|
|
180
|
+
return _context2.stop();
|
|
181
|
+
}
|
|
182
|
+
}, _callee2, this, [[10, 22, 25, 28]]);
|
|
183
|
+
}));
|
|
184
|
+
function calculateWithDebugInfo(_x4, _x5, _x6, _x7, _x8, _x9, _x10) {
|
|
185
|
+
return _calculateWithDebugInfo.apply(this, arguments);
|
|
186
|
+
}
|
|
187
|
+
return calculateWithDebugInfo;
|
|
188
|
+
}()
|
|
189
|
+
}, {
|
|
22
190
|
key: "calculate",
|
|
23
191
|
value: function () {
|
|
24
|
-
var _calculate = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
192
|
+
var _calculate = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(_ref2) {
|
|
25
193
|
var _this = this,
|
|
26
194
|
_vcDetails$90$t,
|
|
27
195
|
_vcDetails$;
|
|
28
|
-
var startTime, stopTime, orderedEntries,
|
|
29
|
-
return _regenerator.default.wrap(function
|
|
30
|
-
while (1) switch (
|
|
196
|
+
var startTime, stopTime, orderedEntries, interactionId, isPostInteraction, filteredEntries, isVCClean, dirtyReason, getVCCleanStatusResult, useDebugInfo, vcDetails;
|
|
197
|
+
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
198
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
31
199
|
case 0:
|
|
32
|
-
startTime =
|
|
200
|
+
startTime = _ref2.startTime, stopTime = _ref2.stopTime, orderedEntries = _ref2.orderedEntries, interactionId = _ref2.interactionId, isPostInteraction = _ref2.isPostInteraction;
|
|
33
201
|
filteredEntries = orderedEntries.filter(function (entry) {
|
|
34
202
|
return _this.isEntryIncluded(entry);
|
|
35
203
|
});
|
|
36
204
|
if (!(0, _platformFeatureFlags.fg)('platform_ufo_add_vc_abort_reason_by_revisions')) {
|
|
37
|
-
|
|
205
|
+
_context3.next = 10;
|
|
38
206
|
break;
|
|
39
207
|
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
208
|
+
getVCCleanStatusResult = this.getVCCleanStatus(filteredEntries);
|
|
209
|
+
isVCClean = getVCCleanStatusResult.isVCClean;
|
|
210
|
+
dirtyReason = getVCCleanStatusResult.dirtyReason;
|
|
211
|
+
if (isVCClean) {
|
|
212
|
+
_context3.next = 8;
|
|
43
213
|
break;
|
|
44
214
|
}
|
|
45
|
-
return
|
|
215
|
+
return _context3.abrupt("return", {
|
|
46
216
|
revision: this.revisionNo,
|
|
47
217
|
'metric:vc90': null,
|
|
48
218
|
clean: false,
|
|
49
219
|
abortReason: dirtyReason
|
|
50
220
|
});
|
|
51
|
-
case 6:
|
|
52
|
-
_context.next = 11;
|
|
53
|
-
break;
|
|
54
221
|
case 8:
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
222
|
+
_context3.next = 13;
|
|
223
|
+
break;
|
|
224
|
+
case 10:
|
|
225
|
+
isVCClean = this.isVCClean(filteredEntries);
|
|
226
|
+
if (isVCClean) {
|
|
227
|
+
_context3.next = 13;
|
|
58
228
|
break;
|
|
59
229
|
}
|
|
60
|
-
return
|
|
230
|
+
return _context3.abrupt("return", {
|
|
61
231
|
revision: this.revisionNo,
|
|
62
232
|
'metric:vc90': null,
|
|
63
233
|
clean: false
|
|
64
234
|
});
|
|
65
|
-
case 11:
|
|
66
|
-
_context.next = 13;
|
|
67
|
-
return (0, _percentileCalc.default)({
|
|
68
|
-
viewport: {
|
|
69
|
-
width: (0, _getViewportWidth.default)(),
|
|
70
|
-
height: (0, _getViewportHeight.default)()
|
|
71
|
-
},
|
|
72
|
-
startTime: startTime,
|
|
73
|
-
stopTime: stopTime,
|
|
74
|
-
orderedEntries: filteredEntries,
|
|
75
|
-
percentiles: [25, 50, 75, 80, 85, 90, 95, 98, 99]
|
|
76
|
-
});
|
|
77
235
|
case 13:
|
|
78
|
-
|
|
79
|
-
|
|
236
|
+
useDebugInfo = (0, _platformFeatureFlags.fg)('platform_ufo_ttvc_v3_devtool');
|
|
237
|
+
if (!useDebugInfo) {
|
|
238
|
+
_context3.next = 20;
|
|
239
|
+
break;
|
|
240
|
+
}
|
|
241
|
+
_context3.next = 17;
|
|
242
|
+
return this.calculateWithDebugInfo(filteredEntries, startTime, stopTime, isPostInteraction, isVCClean, interactionId, dirtyReason);
|
|
243
|
+
case 17:
|
|
244
|
+
_context3.t0 = _context3.sent;
|
|
245
|
+
_context3.next = 23;
|
|
246
|
+
break;
|
|
247
|
+
case 20:
|
|
248
|
+
_context3.next = 22;
|
|
249
|
+
return this.calculateBasic(filteredEntries, startTime, stopTime);
|
|
250
|
+
case 22:
|
|
251
|
+
_context3.t0 = _context3.sent;
|
|
252
|
+
case 23:
|
|
253
|
+
vcDetails = _context3.t0;
|
|
254
|
+
return _context3.abrupt("return", {
|
|
80
255
|
revision: this.revisionNo,
|
|
81
256
|
clean: true,
|
|
82
257
|
'metric:vc90': (_vcDetails$90$t = vcDetails === null || vcDetails === void 0 || (_vcDetails$ = vcDetails['90']) === null || _vcDetails$ === void 0 ? void 0 : _vcDetails$.t) !== null && _vcDetails$90$t !== void 0 ? _vcDetails$90$t : null,
|
|
83
258
|
vcDetails: vcDetails !== null && vcDetails !== void 0 ? vcDetails : undefined
|
|
84
259
|
});
|
|
85
|
-
case
|
|
260
|
+
case 25:
|
|
86
261
|
case "end":
|
|
87
|
-
return
|
|
262
|
+
return _context3.stop();
|
|
88
263
|
}
|
|
89
|
-
},
|
|
264
|
+
}, _callee3, this);
|
|
90
265
|
}));
|
|
91
|
-
function calculate(
|
|
266
|
+
function calculate(_x11) {
|
|
92
267
|
return _calculate.apply(this, arguments);
|
|
93
268
|
}
|
|
94
269
|
return calculate;
|
|
@@ -31,10 +31,10 @@ var VCCalculator_FY25_03 = exports.default = /*#__PURE__*/function (_AbstractVCC
|
|
|
31
31
|
return (0, _createClass2.default)(VCCalculator_FY25_03, [{
|
|
32
32
|
key: "isEntryIncluded",
|
|
33
33
|
value: function isEntryIncluded(entry) {
|
|
34
|
-
if (!CONSIDERED_ENTRY_TYPE.includes(entry.type)) {
|
|
34
|
+
if (!CONSIDERED_ENTRY_TYPE.includes(entry.data.type)) {
|
|
35
35
|
return false;
|
|
36
36
|
}
|
|
37
|
-
if (entry.type === 'mutation:attribute') {
|
|
37
|
+
if (entry.data.type === 'mutation:attribute') {
|
|
38
38
|
var entryData = entry.data;
|
|
39
39
|
var attributeName = entryData.attributeName;
|
|
40
40
|
if (!attributeName || KNOWN_ATTRIBUTES_THAT_DOES_NOT_CAUSE_LAYOUT_SHIFTS.includes(attributeName)) {
|
|
@@ -51,7 +51,7 @@ var VCCalculator_FY25_03 = exports.default = /*#__PURE__*/function (_AbstractVCC
|
|
|
51
51
|
key: "isVCClean",
|
|
52
52
|
value: function isVCClean(filteredEntries) {
|
|
53
53
|
var hasAbortEvent = filteredEntries.some(function (entry) {
|
|
54
|
-
if (entry.type === 'window:event') {
|
|
54
|
+
if (entry.data.type === 'window:event') {
|
|
55
55
|
var data = entry.data;
|
|
56
56
|
if (ABORTING_WINDOW_EVENT.includes(data.eventType)) {
|
|
57
57
|
return true;
|
|
@@ -66,7 +66,7 @@ var VCCalculator_FY25_03 = exports.default = /*#__PURE__*/function (_AbstractVCC
|
|
|
66
66
|
value: function getVCCleanStatus(filteredEntries) {
|
|
67
67
|
var dirtyReason = '';
|
|
68
68
|
var hasAbortEvent = filteredEntries.some(function (entry) {
|
|
69
|
-
if (entry.type === 'window:event') {
|
|
69
|
+
if (entry.data.type === 'window:event') {
|
|
70
70
|
var data = entry.data;
|
|
71
71
|
if (ABORTING_WINDOW_EVENT.includes(data.eventType)) {
|
|
72
72
|
dirtyReason = data.eventType === 'keydown' ? 'keypress' : data.eventType;
|
package/dist/cjs/vc/vc-observer-new/metric-calculator/percentile-calc/canvas-heatmap/index.js
CHANGED
|
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.calculatePercentiles = calculatePercentiles;
|
|
8
|
+
exports.calculatePercentilesWithDebugInfo = calculatePercentilesWithDebugInfo;
|
|
9
|
+
exports.calculateTTVCPercentilesWithDebugInfo = calculateTTVCPercentilesWithDebugInfo;
|
|
8
10
|
exports.default = void 0;
|
|
9
11
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
10
12
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
@@ -78,6 +80,69 @@ function _calculateTTVCPercentiles() {
|
|
|
78
80
|
}));
|
|
79
81
|
return _calculateTTVCPercentiles.apply(this, arguments);
|
|
80
82
|
}
|
|
83
|
+
function calculateTTVCPercentilesWithDebugInfo(_x2) {
|
|
84
|
+
return _calculateTTVCPercentilesWithDebugInfo.apply(this, arguments);
|
|
85
|
+
}
|
|
86
|
+
function _calculateTTVCPercentilesWithDebugInfo() {
|
|
87
|
+
_calculateTTVCPercentilesWithDebugInfo = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(_ref2) {
|
|
88
|
+
var viewport, orderedEntries, startTime, canvas, elementMap, _iterator3, _step3, entry, rect, timePixelCounts, canvasDimensions, totalPixels;
|
|
89
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
90
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
91
|
+
case 0:
|
|
92
|
+
viewport = _ref2.viewport, orderedEntries = _ref2.orderedEntries, startTime = _ref2.startTime;
|
|
93
|
+
canvas = new _canvasPixel.ViewportCanvas(viewport, (0, _platformFeatureFlags.fg)('platform_ufo_canvas_heatmap_full_precision') ? 1 : 0.25);
|
|
94
|
+
elementMap = new Map();
|
|
95
|
+
_iterator3 = _createForOfIteratorHelper(orderedEntries);
|
|
96
|
+
_context2.prev = 4;
|
|
97
|
+
_iterator3.s();
|
|
98
|
+
case 6:
|
|
99
|
+
if ((_step3 = _iterator3.n()).done) {
|
|
100
|
+
_context2.next = 16;
|
|
101
|
+
break;
|
|
102
|
+
}
|
|
103
|
+
entry = _step3.value;
|
|
104
|
+
if ('rect' in entry.data) {
|
|
105
|
+
_context2.next = 10;
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
108
|
+
return _context2.abrupt("continue", 14);
|
|
109
|
+
case 10:
|
|
110
|
+
rect = entry.data.rect;
|
|
111
|
+
canvas.drawRect(rect, entry.time);
|
|
112
|
+
if (!elementMap.has(entry.time)) {
|
|
113
|
+
elementMap.set(entry.time, []);
|
|
114
|
+
}
|
|
115
|
+
elementMap.get(entry.time).push(entry.data);
|
|
116
|
+
case 14:
|
|
117
|
+
_context2.next = 6;
|
|
118
|
+
break;
|
|
119
|
+
case 16:
|
|
120
|
+
_context2.next = 21;
|
|
121
|
+
break;
|
|
122
|
+
case 18:
|
|
123
|
+
_context2.prev = 18;
|
|
124
|
+
_context2.t0 = _context2["catch"](4);
|
|
125
|
+
_iterator3.e(_context2.t0);
|
|
126
|
+
case 21:
|
|
127
|
+
_context2.prev = 21;
|
|
128
|
+
_iterator3.f();
|
|
129
|
+
return _context2.finish(21);
|
|
130
|
+
case 24:
|
|
131
|
+
_context2.next = 26;
|
|
132
|
+
return canvas.getPixelCounts();
|
|
133
|
+
case 26:
|
|
134
|
+
timePixelCounts = _context2.sent;
|
|
135
|
+
canvasDimensions = canvas.getScaledDimensions();
|
|
136
|
+
totalPixels = canvasDimensions.width * canvasDimensions.height;
|
|
137
|
+
return _context2.abrupt("return", calculatePercentilesWithDebugInfo(timePixelCounts, elementMap, totalPixels, startTime));
|
|
138
|
+
case 30:
|
|
139
|
+
case "end":
|
|
140
|
+
return _context2.stop();
|
|
141
|
+
}
|
|
142
|
+
}, _callee2, null, [[4, 18, 21, 24]]);
|
|
143
|
+
}));
|
|
144
|
+
return _calculateTTVCPercentilesWithDebugInfo.apply(this, arguments);
|
|
145
|
+
}
|
|
81
146
|
var _default = exports.default = calculateTTVCPercentiles;
|
|
82
147
|
function calculatePercentiles(timePixelCounts, elementMap, unorderedPercentiles, totalPixels, startTime) {
|
|
83
148
|
var results = {};
|
|
@@ -87,11 +152,11 @@ function calculatePercentiles(timePixelCounts, elementMap, unorderedPercentiles,
|
|
|
87
152
|
});
|
|
88
153
|
|
|
89
154
|
// Sort entries by timestamp for consistent processing
|
|
90
|
-
var sortedEntries = Array.from(timePixelCounts.entries()).sort(function (
|
|
91
|
-
var _ref4 = (0, _slicedToArray2.default)(_ref2, 1),
|
|
92
|
-
timeA = _ref4[0];
|
|
155
|
+
var sortedEntries = Array.from(timePixelCounts.entries()).sort(function (_ref3, _ref4) {
|
|
93
156
|
var _ref5 = (0, _slicedToArray2.default)(_ref3, 1),
|
|
94
|
-
|
|
157
|
+
timeA = _ref5[0];
|
|
158
|
+
var _ref6 = (0, _slicedToArray2.default)(_ref4, 1),
|
|
159
|
+
timeB = _ref6[0];
|
|
95
160
|
return Number(timeA) - Number(timeB);
|
|
96
161
|
});
|
|
97
162
|
var percentileIndex = 0;
|
|
@@ -142,4 +207,29 @@ function calculatePercentiles(timePixelCounts, elementMap, unorderedPercentiles,
|
|
|
142
207
|
previousResult = results["".concat(percentile)];
|
|
143
208
|
}
|
|
144
209
|
return results;
|
|
210
|
+
}
|
|
211
|
+
function calculatePercentilesWithDebugInfo(timePixelCounts, elementMap, totalPixels, startTime) {
|
|
212
|
+
var results = new Array(elementMap.size);
|
|
213
|
+
var cumulativePixels = 0;
|
|
214
|
+
var sortedEntries = Array.from(timePixelCounts.entries()).sort(function (_ref7, _ref8) {
|
|
215
|
+
var _ref9 = (0, _slicedToArray2.default)(_ref7, 1),
|
|
216
|
+
timeA = _ref9[0];
|
|
217
|
+
var _ref10 = (0, _slicedToArray2.default)(_ref8, 1),
|
|
218
|
+
timeB = _ref10[0];
|
|
219
|
+
return Number(timeA) - Number(timeB);
|
|
220
|
+
});
|
|
221
|
+
for (var i = 0; i < sortedEntries.length; i++) {
|
|
222
|
+
var _sortedEntries$i = (0, _slicedToArray2.default)(sortedEntries[i], 2),
|
|
223
|
+
time = _sortedEntries$i[0],
|
|
224
|
+
pixelCount = _sortedEntries$i[1];
|
|
225
|
+
cumulativePixels += pixelCount;
|
|
226
|
+
var percentCovered = cumulativePixels / totalPixels * 100;
|
|
227
|
+
var entryDatas = elementMap.get(time) || [];
|
|
228
|
+
results[i] = {
|
|
229
|
+
time: Math.round(Number(time - startTime)),
|
|
230
|
+
viewportPercentage: percentCovered,
|
|
231
|
+
entries: Array.from(entryDatas)
|
|
232
|
+
};
|
|
233
|
+
}
|
|
234
|
+
return results;
|
|
145
235
|
}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
5
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
6
|
+
var _index = require("./index");
|
|
7
|
+
// Test utilities
|
|
8
|
+
var createMockRect = function createMockRect() {
|
|
9
|
+
var x = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
|
10
|
+
var y = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
11
|
+
var width = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 100;
|
|
12
|
+
var height = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 100;
|
|
13
|
+
return new MockDOMRect(x, y, width, height);
|
|
14
|
+
};
|
|
15
|
+
var createViewportEntry = function createViewportEntry(elementName) {
|
|
16
|
+
var rect = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : createMockRect();
|
|
17
|
+
var visible = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
18
|
+
var type = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'mutation:element';
|
|
19
|
+
return {
|
|
20
|
+
elementName: elementName,
|
|
21
|
+
rect: rect,
|
|
22
|
+
visible: visible,
|
|
23
|
+
type: type
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
var createTimePixelCounts = function createTimePixelCounts(counts) {
|
|
27
|
+
return new Map(counts);
|
|
28
|
+
};
|
|
29
|
+
var createElementMap = function createElementMap(entries) {
|
|
30
|
+
return new Map(entries);
|
|
31
|
+
};
|
|
32
|
+
var createExpectedResult = function createExpectedResult(time, viewportPercentage, entries) {
|
|
33
|
+
return {
|
|
34
|
+
time: time,
|
|
35
|
+
viewportPercentage: viewportPercentage,
|
|
36
|
+
entries: entries
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
var MockDOMRect = /*#__PURE__*/function () {
|
|
40
|
+
function MockDOMRect(x, y, width, height) {
|
|
41
|
+
(0, _classCallCheck2.default)(this, MockDOMRect);
|
|
42
|
+
this.x = x;
|
|
43
|
+
this.y = y;
|
|
44
|
+
this.width = width;
|
|
45
|
+
this.height = height;
|
|
46
|
+
}
|
|
47
|
+
return (0, _createClass2.default)(MockDOMRect, [{
|
|
48
|
+
key: "bottom",
|
|
49
|
+
get: function get() {
|
|
50
|
+
return this.y + this.height;
|
|
51
|
+
}
|
|
52
|
+
}, {
|
|
53
|
+
key: "left",
|
|
54
|
+
get: function get() {
|
|
55
|
+
return this.x;
|
|
56
|
+
}
|
|
57
|
+
}, {
|
|
58
|
+
key: "right",
|
|
59
|
+
get: function get() {
|
|
60
|
+
return this.x + this.width;
|
|
61
|
+
}
|
|
62
|
+
}, {
|
|
63
|
+
key: "top",
|
|
64
|
+
get: function get() {
|
|
65
|
+
return this.y;
|
|
66
|
+
}
|
|
67
|
+
}, {
|
|
68
|
+
key: "toJSON",
|
|
69
|
+
value: function toJSON() {
|
|
70
|
+
return {
|
|
71
|
+
x: this.x,
|
|
72
|
+
y: this.y,
|
|
73
|
+
width: this.width,
|
|
74
|
+
height: this.height
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
}]);
|
|
78
|
+
}();
|
|
79
|
+
describe('calculatePercentilesWithDebugInfo', function () {
|
|
80
|
+
it('should correctly calculate percentiles with accumulated elements from timestamps', function () {
|
|
81
|
+
var timePixelCounts = createTimePixelCounts([[100, 10], [200, 20], [300, 10], [400, 10]]);
|
|
82
|
+
var elementMap = createElementMap([[100, [createViewportEntry('div'), createViewportEntry('span')]], [200, [createViewportEntry('img')]], [300, [createViewportEntry('p'), createViewportEntry('a')]], [400, [createViewportEntry('img')]]]);
|
|
83
|
+
var expected = [createExpectedResult(100, 20, [createViewportEntry('div'), createViewportEntry('span')]), createExpectedResult(200, 60, [createViewportEntry('img')]), createExpectedResult(300, 80, [createViewportEntry('p'), createViewportEntry('a')]), createExpectedResult(400, 100, [createViewportEntry('img')])];
|
|
84
|
+
var result = (0, _index.calculatePercentilesWithDebugInfo)(timePixelCounts, elementMap, 50, 0);
|
|
85
|
+
expect(result).toEqual(expected);
|
|
86
|
+
});
|
|
87
|
+
it('should handle empty entries gracefully', function () {
|
|
88
|
+
var timePixelCounts = new Map();
|
|
89
|
+
var elementMap = new Map();
|
|
90
|
+
var expected = [];
|
|
91
|
+
var result = (0, _index.calculatePercentilesWithDebugInfo)(timePixelCounts, elementMap, 100, 0);
|
|
92
|
+
expect(result).toEqual(expected);
|
|
93
|
+
});
|
|
94
|
+
it('should handle non-sequential timestamps', function () {
|
|
95
|
+
var timePixelCounts = createTimePixelCounts([[300, 70], [100, 30]]);
|
|
96
|
+
var elementMap = createElementMap([[300, [createViewportEntry('p'), createViewportEntry('a')]], [100, [createViewportEntry('div')]]]);
|
|
97
|
+
var expected = [createExpectedResult(100, 30, [createViewportEntry('div')]), createExpectedResult(300, 100, [createViewportEntry('p'), createViewportEntry('a')])];
|
|
98
|
+
var result = (0, _index.calculatePercentilesWithDebugInfo)(timePixelCounts, elementMap, 100, 0);
|
|
99
|
+
expect(result).toEqual(expected);
|
|
100
|
+
});
|
|
101
|
+
it('should correctly calculate percentiles with startTime offset', function () {
|
|
102
|
+
var timePixelCounts = createTimePixelCounts([[100, 10], [200, 20], [300, 10], [400, 10]]);
|
|
103
|
+
var elementMap = createElementMap([[100, [createViewportEntry('div'), createViewportEntry('span')]], [200, [createViewportEntry('img')]], [300, [createViewportEntry('p'), createViewportEntry('a')]], [400, [createViewportEntry('img')]]]);
|
|
104
|
+
var expected = [createExpectedResult(50, 20, [createViewportEntry('div'), createViewportEntry('span')]), createExpectedResult(150, 60, [createViewportEntry('img')]), createExpectedResult(250, 80, [createViewportEntry('p'), createViewportEntry('a')]), createExpectedResult(350, 100, [createViewportEntry('img')])];
|
|
105
|
+
var result = (0, _index.calculatePercentilesWithDebugInfo)(timePixelCounts, elementMap, 50, 50);
|
|
106
|
+
expect(result).toEqual(expected);
|
|
107
|
+
});
|
|
108
|
+
});
|
|
@@ -1,62 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
algo = 'canvas_heatmap';
|
|
23
|
-
if (!(algo === 'canvas_heatmap')) {
|
|
24
|
-
_context.next = 6;
|
|
25
|
-
break;
|
|
26
|
-
}
|
|
27
|
-
_context.next = 4;
|
|
28
|
-
return (0, _canvasHeatmap.default)(arg);
|
|
29
|
-
case 4:
|
|
30
|
-
vcDetails = _context.sent;
|
|
31
|
-
return _context.abrupt("return", vcDetails);
|
|
32
|
-
case 6:
|
|
33
|
-
if (!(algo === 'rect_sweeping')) {
|
|
34
|
-
_context.next = 11;
|
|
35
|
-
break;
|
|
36
|
-
}
|
|
37
|
-
_context.next = 9;
|
|
38
|
-
return (0, _rectSweepingLine.default)(arg);
|
|
39
|
-
case 9:
|
|
40
|
-
_vcDetails = _context.sent;
|
|
41
|
-
return _context.abrupt("return", _vcDetails);
|
|
42
|
-
case 11:
|
|
43
|
-
if (!(algo === 'old_heatmap')) {
|
|
44
|
-
_context.next = 16;
|
|
45
|
-
break;
|
|
46
|
-
}
|
|
47
|
-
_context.next = 14;
|
|
48
|
-
return (0, _heatmap.default)(arg);
|
|
49
|
-
case 14:
|
|
50
|
-
_vcDetails2 = _context.sent;
|
|
51
|
-
return _context.abrupt("return", _vcDetails2);
|
|
52
|
-
case 16:
|
|
53
|
-
throw new Error('unexpected Error algo not chosen correctly');
|
|
54
|
-
case 17:
|
|
55
|
-
case "end":
|
|
56
|
-
return _context.stop();
|
|
57
|
-
}
|
|
58
|
-
}, _callee);
|
|
59
|
-
}));
|
|
60
|
-
return _calculateTTVCPercentiles.apply(this, arguments);
|
|
61
|
-
}
|
|
62
|
-
var _default = exports.default = calculateTTVCPercentiles;
|
|
7
|
+
Object.defineProperty(exports, "calculateTTVCPercentiles", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function get() {
|
|
10
|
+
return _canvasHeatmap.default;
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
Object.defineProperty(exports, "calculateTTVCPercentilesWithDebugInfo", {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
get: function get() {
|
|
16
|
+
return _canvasHeatmap.calculateTTVCPercentilesWithDebugInfo;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
var _canvasHeatmap = _interopRequireWildcard(require("./canvas-heatmap"));
|
|
20
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
21
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|