@atlaskit/react-ufo 2.5.3 → 2.7.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 +20 -0
- package/create-experimental-interaction-metrics-payload/package.json +15 -0
- package/dist/cjs/config/index.js +40 -18
- package/dist/cjs/create-experimental-interaction-metrics-payload/index.js +100 -0
- package/dist/cjs/create-payload/common/utils/index.js +66 -2
- package/dist/cjs/create-payload/index.js +55 -78
- package/dist/cjs/interaction-metrics/common/constants.js +8 -3
- package/dist/cjs/interaction-metrics/common/index.js +151 -0
- package/dist/cjs/interaction-metrics/index.js +166 -238
- package/dist/cjs/interaction-metrics-init/index.js +31 -9
- package/dist/cjs/load-hold/UFOLoadHold.js +5 -3
- package/dist/cjs/segment/segment.js +9 -8
- package/dist/es2019/config/index.js +22 -0
- package/dist/es2019/create-experimental-interaction-metrics-payload/index.js +71 -0
- package/dist/es2019/create-payload/common/utils/index.js +68 -1
- package/dist/es2019/create-payload/index.js +48 -77
- package/dist/es2019/interaction-metrics/common/constants.js +7 -2
- package/dist/es2019/interaction-metrics/common/index.js +103 -0
- package/dist/es2019/interaction-metrics/index.js +91 -131
- package/dist/es2019/interaction-metrics-init/index.js +28 -8
- package/dist/es2019/load-hold/UFOLoadHold.js +5 -3
- package/dist/es2019/segment/segment.js +8 -11
- package/dist/esm/config/index.js +39 -18
- package/dist/esm/create-experimental-interaction-metrics-payload/index.js +90 -0
- package/dist/esm/create-payload/common/utils/index.js +63 -1
- package/dist/esm/create-payload/index.js +53 -78
- package/dist/esm/interaction-metrics/common/constants.js +7 -2
- package/dist/esm/interaction-metrics/common/index.js +132 -0
- package/dist/esm/interaction-metrics/index.js +86 -158
- package/dist/esm/interaction-metrics-init/index.js +28 -8
- package/dist/esm/load-hold/UFOLoadHold.js +5 -3
- package/dist/esm/segment/segment.js +9 -8
- package/dist/types/common/common/types.d.ts +6 -4
- package/dist/types/config/index.d.ts +7 -0
- package/dist/types/create-experimental-interaction-metrics-payload/index.d.ts +16 -0
- package/dist/types/create-payload/common/utils/index.d.ts +9 -0
- package/dist/types/create-payload/index.d.ts +13 -5660
- package/dist/types/interaction-context/index.d.ts +1 -0
- package/dist/types/interaction-metrics/common/constants.d.ts +32 -3
- package/dist/types/interaction-metrics/common/index.d.ts +16 -0
- package/dist/types/interaction-metrics/index.d.ts +1 -17
- package/dist/types/load-hold/UFOLoadHold.d.ts +1 -2
- package/dist/types-ts4.5/common/common/types.d.ts +6 -4
- package/dist/types-ts4.5/config/index.d.ts +7 -0
- package/dist/types-ts4.5/create-experimental-interaction-metrics-payload/index.d.ts +16 -0
- package/dist/types-ts4.5/create-payload/common/utils/index.d.ts +9 -0
- package/dist/types-ts4.5/create-payload/index.d.ts +13 -5660
- package/dist/types-ts4.5/interaction-context/index.d.ts +1 -0
- package/dist/types-ts4.5/interaction-metrics/common/constants.d.ts +32 -3
- package/dist/types-ts4.5/interaction-metrics/common/index.d.ts +16 -0
- package/dist/types-ts4.5/interaction-metrics/index.d.ts +1 -17
- package/dist/types-ts4.5/load-hold/UFOLoadHold.d.ts +1 -2
- package/package.json +3 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
# @atlaskit/ufo-interaction-ignore
|
|
2
2
|
|
|
3
|
+
## 2.7.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#179617](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/179617)
|
|
8
|
+
[`755cc79765ae8`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/755cc79765ae8) -
|
|
9
|
+
Added API to support SSR whitelist
|
|
10
|
+
|
|
11
|
+
## 2.6.0
|
|
12
|
+
|
|
13
|
+
### Minor Changes
|
|
14
|
+
|
|
15
|
+
- [#180750](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/180750)
|
|
16
|
+
[`a876090daed20`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/a876090daed20) -
|
|
17
|
+
Experimental UFO holds the third iteration
|
|
18
|
+
|
|
19
|
+
### Patch Changes
|
|
20
|
+
|
|
21
|
+
- Updated dependencies
|
|
22
|
+
|
|
3
23
|
## 2.5.3
|
|
4
24
|
|
|
5
25
|
### Patch Changes
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@atlaskit/react-ufo/create-experimental-interaction-metrics-payload",
|
|
3
|
+
"main": "../dist/cjs/create-experimental-interaction-metrics-payload/index.js",
|
|
4
|
+
"module": "../dist/esm/create-experimental-interaction-metrics-payload/index.js",
|
|
5
|
+
"module:es2019": "../dist/es2019/create-experimental-interaction-metrics-payload/index.js",
|
|
6
|
+
"sideEffects": false,
|
|
7
|
+
"types": "../dist/types/create-experimental-interaction-metrics-payload/index.d.ts",
|
|
8
|
+
"typesVersions": {
|
|
9
|
+
">=4.5 <5.4": {
|
|
10
|
+
"*": [
|
|
11
|
+
"../dist/types-ts4.5/create-experimental-interaction-metrics-payload/index.d.ts"
|
|
12
|
+
]
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
package/dist/cjs/config/index.js
CHANGED
|
@@ -8,6 +8,7 @@ exports.getCapabilityRate = getCapabilityRate;
|
|
|
8
8
|
exports.getConfig = getConfig;
|
|
9
9
|
exports.getDoNotAbortActivePressInteraction = getDoNotAbortActivePressInteraction;
|
|
10
10
|
exports.getDoNotAbortActivePressInteractionOnTransition = getDoNotAbortActivePressInteractionOnTransition;
|
|
11
|
+
exports.getExperimentalInteractionRate = getExperimentalInteractionRate;
|
|
11
12
|
exports.getInteractionRate = getInteractionRate;
|
|
12
13
|
exports.getPostInteractionRate = getPostInteractionRate;
|
|
13
14
|
exports.getRemoveInteractionsUFOPrefixes = getRemoveInteractionsUFOPrefixes;
|
|
@@ -81,13 +82,34 @@ function getInteractionRate(name, interactionKind) {
|
|
|
81
82
|
return 0;
|
|
82
83
|
}
|
|
83
84
|
}
|
|
84
|
-
function
|
|
85
|
+
function getExperimentalInteractionRate(name, interactionType) {
|
|
85
86
|
try {
|
|
86
87
|
if (!config) {
|
|
87
88
|
return 0;
|
|
88
89
|
}
|
|
89
90
|
var _config2 = config,
|
|
90
|
-
|
|
91
|
+
experimentalInteractionMetrics = _config2.experimentalInteractionMetrics;
|
|
92
|
+
if (!(experimentalInteractionMetrics !== null && experimentalInteractionMetrics !== void 0 && experimentalInteractionMetrics.enabled)) {
|
|
93
|
+
return 0;
|
|
94
|
+
}
|
|
95
|
+
if (experimentalInteractionMetrics.rates && typeof experimentalInteractionMetrics.rates[name] === 'number') {
|
|
96
|
+
return experimentalInteractionMetrics.rates[name];
|
|
97
|
+
}
|
|
98
|
+
if (experimentalInteractionMetrics.kind && typeof experimentalInteractionMetrics.kind[interactionType] === 'number') {
|
|
99
|
+
return experimentalInteractionMetrics.kind[interactionType];
|
|
100
|
+
}
|
|
101
|
+
return 0;
|
|
102
|
+
} catch (e) {
|
|
103
|
+
return 0;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
function getPostInteractionRate(name, interactionType) {
|
|
107
|
+
try {
|
|
108
|
+
if (!config) {
|
|
109
|
+
return 0;
|
|
110
|
+
}
|
|
111
|
+
var _config3 = config,
|
|
112
|
+
postInteractionLog = _config3.postInteractionLog;
|
|
91
113
|
if (!(postInteractionLog !== null && postInteractionLog !== void 0 && postInteractionLog.enabled)) {
|
|
92
114
|
return 0;
|
|
93
115
|
}
|
|
@@ -107,8 +129,8 @@ function getCapabilityRate(capability) {
|
|
|
107
129
|
if (!config) {
|
|
108
130
|
return 0;
|
|
109
131
|
}
|
|
110
|
-
var
|
|
111
|
-
capabilityRate =
|
|
132
|
+
var _config4 = config,
|
|
133
|
+
capabilityRate = _config4.capability;
|
|
112
134
|
if (capabilityRate != null) {
|
|
113
135
|
var rate = capabilityRate[capability];
|
|
114
136
|
if (rate != null) {
|
|
@@ -127,8 +149,8 @@ function getTypingPerformanceTracingMethod() {
|
|
|
127
149
|
if (!config) {
|
|
128
150
|
return defaultMethod;
|
|
129
151
|
}
|
|
130
|
-
var
|
|
131
|
-
typingMethod =
|
|
152
|
+
var _config5 = config,
|
|
153
|
+
typingMethod = _config5.typingMethod;
|
|
132
154
|
if (typingMethod != null && validTypingMethods.find(function (m) {
|
|
133
155
|
return m === typingMethod;
|
|
134
156
|
})) {
|
|
@@ -147,8 +169,8 @@ function getAwaitBM3TTIList() {
|
|
|
147
169
|
if (!config) {
|
|
148
170
|
return [];
|
|
149
171
|
}
|
|
150
|
-
var
|
|
151
|
-
awaitBM3TTI =
|
|
172
|
+
var _config6 = config,
|
|
173
|
+
awaitBM3TTI = _config6.awaitBM3TTI;
|
|
152
174
|
if (awaitBM3TTI != null) {
|
|
153
175
|
return awaitBM3TTI;
|
|
154
176
|
} else {
|
|
@@ -165,8 +187,8 @@ function getRemovePageSegmentsUFOPrefixes() {
|
|
|
165
187
|
if (!config) {
|
|
166
188
|
return false;
|
|
167
189
|
}
|
|
168
|
-
var
|
|
169
|
-
removePageSegmentsUFOPrefixes =
|
|
190
|
+
var _config7 = config,
|
|
191
|
+
removePageSegmentsUFOPrefixes = _config7.removePageSegmentsUFOPrefixes;
|
|
170
192
|
if (removePageSegmentsUFOPrefixes != null) {
|
|
171
193
|
return removePageSegmentsUFOPrefixes;
|
|
172
194
|
} else {
|
|
@@ -183,8 +205,8 @@ function getRemoveInteractionsUFOPrefixes() {
|
|
|
183
205
|
if (!config) {
|
|
184
206
|
return false;
|
|
185
207
|
}
|
|
186
|
-
var
|
|
187
|
-
removeInteractionsUFOPrefixes =
|
|
208
|
+
var _config8 = config,
|
|
209
|
+
removeInteractionsUFOPrefixes = _config8.removeInteractionsUFOPrefixes;
|
|
188
210
|
if (removeInteractionsUFOPrefixes != null) {
|
|
189
211
|
return removeInteractionsUFOPrefixes;
|
|
190
212
|
} else {
|
|
@@ -204,8 +226,8 @@ function getUfoNameOverrides() {
|
|
|
204
226
|
if (!config) {
|
|
205
227
|
return undefined;
|
|
206
228
|
}
|
|
207
|
-
var
|
|
208
|
-
ufoNameOverrides =
|
|
229
|
+
var _config9 = config,
|
|
230
|
+
ufoNameOverrides = _config9.ufoNameOverrides;
|
|
209
231
|
if (ufoNameOverrides != null) {
|
|
210
232
|
return ufoNameOverrides;
|
|
211
233
|
}
|
|
@@ -221,8 +243,8 @@ function getDoNotAbortActivePressInteraction() {
|
|
|
221
243
|
if (!config) {
|
|
222
244
|
return undefined;
|
|
223
245
|
}
|
|
224
|
-
var
|
|
225
|
-
doNotAbortActivePressInteraction =
|
|
246
|
+
var _config10 = config,
|
|
247
|
+
doNotAbortActivePressInteraction = _config10.doNotAbortActivePressInteraction;
|
|
226
248
|
return doNotAbortActivePressInteraction;
|
|
227
249
|
} catch (e) {
|
|
228
250
|
return undefined;
|
|
@@ -235,8 +257,8 @@ function getDoNotAbortActivePressInteractionOnTransition() {
|
|
|
235
257
|
if (!config) {
|
|
236
258
|
return undefined;
|
|
237
259
|
}
|
|
238
|
-
var
|
|
239
|
-
doNotAbortActivePressInteractionOnTransition =
|
|
260
|
+
var _config11 = config,
|
|
261
|
+
doNotAbortActivePressInteractionOnTransition = _config11.doNotAbortActivePressInteractionOnTransition;
|
|
240
262
|
return doNotAbortActivePressInteractionOnTransition;
|
|
241
263
|
} catch (e) {
|
|
242
264
|
return undefined;
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.getExperimentalVCMetrics = exports.experimentalVC = exports.ExperimentalVCMetrics = void 0;
|
|
8
|
+
exports.installInteractionSink = installInteractionSink;
|
|
9
|
+
exports.onExperimentalInteractionComplete = onExperimentalInteractionComplete;
|
|
10
|
+
exports.sinkExperimentalHandler = sinkExperimentalHandler;
|
|
11
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
12
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
14
|
+
var _utils = require("../create-payload/common/utils");
|
|
15
|
+
var _vcObserver = require("../vc/vc-observer");
|
|
16
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
17
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
18
|
+
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; } } }; }
|
|
19
|
+
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; } }
|
|
20
|
+
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; }
|
|
21
|
+
var interactionBuffer = [];
|
|
22
|
+
var bufferInteractionData = function bufferInteractionData(interactionId, data) {
|
|
23
|
+
interactionBuffer.push({
|
|
24
|
+
interactionId: interactionId,
|
|
25
|
+
data: data
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
function clearInteractionBuffer() {
|
|
29
|
+
interactionBuffer.length = 0;
|
|
30
|
+
}
|
|
31
|
+
function appendInteractionData(interactionId, data) {
|
|
32
|
+
bufferInteractionData(interactionId, data);
|
|
33
|
+
}
|
|
34
|
+
function installInteractionSink(handler) {
|
|
35
|
+
var _iterator = _createForOfIteratorHelper(interactionBuffer),
|
|
36
|
+
_step;
|
|
37
|
+
try {
|
|
38
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
39
|
+
var _step$value = _step.value,
|
|
40
|
+
_interactionId = _step$value.interactionId,
|
|
41
|
+
data = _step$value.data;
|
|
42
|
+
handler(_interactionId, data);
|
|
43
|
+
}
|
|
44
|
+
} catch (err) {
|
|
45
|
+
_iterator.e(err);
|
|
46
|
+
} finally {
|
|
47
|
+
_iterator.f();
|
|
48
|
+
}
|
|
49
|
+
clearInteractionBuffer();
|
|
50
|
+
bufferInteractionData = handler;
|
|
51
|
+
}
|
|
52
|
+
function sinkExperimentalHandler(sinkFn) {
|
|
53
|
+
installInteractionSink(sinkFn);
|
|
54
|
+
}
|
|
55
|
+
function onExperimentalInteractionComplete(interactionId, data) {
|
|
56
|
+
var endTime = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : performance.now();
|
|
57
|
+
if (data.ufoName) {
|
|
58
|
+
data.end = endTime;
|
|
59
|
+
appendInteractionData(interactionId, data);
|
|
60
|
+
clearInteractionBuffer();
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
var ExperimentalVCMetrics = exports.ExperimentalVCMetrics = /*#__PURE__*/function () {
|
|
64
|
+
function ExperimentalVCMetrics() {
|
|
65
|
+
(0, _classCallCheck2.default)(this, ExperimentalVCMetrics);
|
|
66
|
+
(0, _defineProperty2.default)(this, "vcObserver", null);
|
|
67
|
+
}
|
|
68
|
+
return (0, _createClass2.default)(ExperimentalVCMetrics, [{
|
|
69
|
+
key: "initialize",
|
|
70
|
+
value: function initialize(options) {
|
|
71
|
+
if (this.vcObserver === null) {
|
|
72
|
+
this.vcObserver = new _vcObserver.VCObserver(_objectSpread(_objectSpread({}, options), {}, {
|
|
73
|
+
isPostInteraction: true
|
|
74
|
+
}));
|
|
75
|
+
}
|
|
76
|
+
return this;
|
|
77
|
+
}
|
|
78
|
+
}, {
|
|
79
|
+
key: "start",
|
|
80
|
+
value: function start(_ref) {
|
|
81
|
+
var _this$vcObserver;
|
|
82
|
+
var startTime = _ref.startTime;
|
|
83
|
+
(_this$vcObserver = this.vcObserver) === null || _this$vcObserver === void 0 || _this$vcObserver.start({
|
|
84
|
+
startTime: startTime
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
}]);
|
|
88
|
+
}();
|
|
89
|
+
var experimentalVC = exports.experimentalVC = new ExperimentalVCMetrics();
|
|
90
|
+
var getExperimentalVCMetrics = exports.getExperimentalVCMetrics = function getExperimentalVCMetrics(interaction) {
|
|
91
|
+
if (experimentalVC.vcObserver) {
|
|
92
|
+
var _result$metricsVc;
|
|
93
|
+
var result = (0, _utils.calculateVCMetrics)(interaction, 'ufo-experimental', experimentalVC.vcObserver.getVCResult);
|
|
94
|
+
experimentalVC.vcObserver.stop();
|
|
95
|
+
return _objectSpread(_objectSpread({}, result), {}, {
|
|
96
|
+
'metric:experimental:vc90': result === null || result === void 0 || (_result$metricsVc = result['metrics:vc']) === null || _result$metricsVc === void 0 ? void 0 : _result$metricsVc['90']
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
return null;
|
|
100
|
+
};
|
|
@@ -5,15 +5,24 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.buildSegmentTree = buildSegmentTree;
|
|
8
|
+
exports.getPageVisibilityUpToTTAI = exports.calculateVCMetrics = void 0;
|
|
9
|
+
exports.getSSRDoneTimeValue = getSSRDoneTimeValue;
|
|
10
|
+
exports.getVCMetrics = exports.getTTAI = void 0;
|
|
8
11
|
exports.isSegmentLabel = isSegmentLabel;
|
|
9
12
|
exports.labelStackStartWith = labelStackStartWith;
|
|
10
13
|
exports.optimizeLabelStack = optimizeLabelStack;
|
|
11
|
-
exports.sanitizeUfoName = void 0;
|
|
14
|
+
exports.sanitizeUfoName = exports.postInteractionLog = void 0;
|
|
12
15
|
exports.stringifyLabelStackFully = stringifyLabelStackFully;
|
|
13
16
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
14
17
|
var _constants = require("../../../common/constants");
|
|
18
|
+
var _config = require("../../../config");
|
|
19
|
+
var _hiddenTiming = require("../../../hidden-timing");
|
|
20
|
+
var _postInteractionLog = _interopRequireDefault(require("../../../interaction-metrics/post-interaction-log"));
|
|
21
|
+
var _ssr = require("../../../ssr");
|
|
22
|
+
var _vc = require("../../../vc");
|
|
15
23
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
16
24
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } /* eslint-disable @typescript-eslint/no-non-null-asserted-optional-chain */
|
|
25
|
+
var postInteractionLog = exports.postInteractionLog = new _postInteractionLog.default();
|
|
17
26
|
var sanitizeUfoName = exports.sanitizeUfoName = function sanitizeUfoName(name) {
|
|
18
27
|
return name.replace(/_/g, '-');
|
|
19
28
|
};
|
|
@@ -70,4 +79,59 @@ function optimizeLabelStack(labelStack) {
|
|
|
70
79
|
s: ls.segmentId
|
|
71
80
|
} : {});
|
|
72
81
|
});
|
|
73
|
-
}
|
|
82
|
+
}
|
|
83
|
+
var getPageVisibilityUpToTTAI = exports.getPageVisibilityUpToTTAI = function getPageVisibilityUpToTTAI(interaction) {
|
|
84
|
+
var start = interaction.start,
|
|
85
|
+
end = interaction.end;
|
|
86
|
+
return (0, _hiddenTiming.getPageVisibilityState)(start, end);
|
|
87
|
+
};
|
|
88
|
+
var calculateVCMetrics = exports.calculateVCMetrics = function calculateVCMetrics(interaction, prefix, getVCResultFn) {
|
|
89
|
+
var _interaction$apdex;
|
|
90
|
+
var result = getVCResultFn({
|
|
91
|
+
start: interaction.start,
|
|
92
|
+
stop: interaction.end,
|
|
93
|
+
tti: (_interaction$apdex = interaction.apdex) === null || _interaction$apdex === void 0 || (_interaction$apdex = _interaction$apdex[0]) === null || _interaction$apdex === void 0 ? void 0 : _interaction$apdex.stopTime,
|
|
94
|
+
prefix: prefix,
|
|
95
|
+
vc: interaction.vc
|
|
96
|
+
});
|
|
97
|
+
var VC = result === null || result === void 0 ? void 0 : result['metrics:vc'];
|
|
98
|
+
if (!VC || !(result !== null && result !== void 0 && result["".concat(prefix, ":vc:clean")])) {
|
|
99
|
+
return result;
|
|
100
|
+
}
|
|
101
|
+
var pageVisibilityUpToTTAI = getPageVisibilityUpToTTAI(interaction);
|
|
102
|
+
if (interaction.abortReason || pageVisibilityUpToTTAI !== 'visible') {
|
|
103
|
+
return result;
|
|
104
|
+
}
|
|
105
|
+
return result;
|
|
106
|
+
};
|
|
107
|
+
function getSSRDoneTimeValue(config) {
|
|
108
|
+
var _config$ssr, _config$ssr2;
|
|
109
|
+
return config !== null && config !== void 0 && (_config$ssr = config.ssr) !== null && _config$ssr !== void 0 && _config$ssr.getSSRDoneTime ? config === null || config === void 0 || (_config$ssr2 = config.ssr) === null || _config$ssr2 === void 0 ? void 0 : _config$ssr2.getSSRDoneTime() : (0, _ssr.getSSRDoneTime)();
|
|
110
|
+
}
|
|
111
|
+
var getVCMetrics = exports.getVCMetrics = function getVCMetrics(interaction) {
|
|
112
|
+
var _config$vc, _config$vc$ssrWhiteli, _result$metricsVc;
|
|
113
|
+
var config = (0, _config.getConfig)();
|
|
114
|
+
if (!(config !== null && config !== void 0 && (_config$vc = config.vc) !== null && _config$vc !== void 0 && _config$vc.enabled)) {
|
|
115
|
+
return {};
|
|
116
|
+
}
|
|
117
|
+
if (interaction.type !== 'page_load' && interaction.type !== 'transition') {
|
|
118
|
+
return {};
|
|
119
|
+
}
|
|
120
|
+
var isSSREnabled = (config === null || config === void 0 ? void 0 : config.ssr) || (config === null || config === void 0 || (_config$vc$ssrWhiteli = config.vc.ssrWhitelist) === null || _config$vc$ssrWhiteli === void 0 ? void 0 : _config$vc$ssrWhiteli.includes(interaction.ufoName));
|
|
121
|
+
var ssr = interaction.type === 'page_load' && isSSREnabled ? {
|
|
122
|
+
ssr: getSSRDoneTimeValue(config)
|
|
123
|
+
} : null;
|
|
124
|
+
postInteractionLog.setVCObserverSSRConfig(ssr);
|
|
125
|
+
var result = calculateVCMetrics(interaction, 'ufo', (0, _vc.getVCObserver)().getVCResult);
|
|
126
|
+
(0, _vc.getVCObserver)().stop();
|
|
127
|
+
postInteractionLog.setLastInteractionFinishVCResult(result);
|
|
128
|
+
return _objectSpread(_objectSpread({}, result), {}, {
|
|
129
|
+
'metric:vc90': result === null || result === void 0 || (_result$metricsVc = result['metrics:vc']) === null || _result$metricsVc === void 0 ? void 0 : _result$metricsVc['90']
|
|
130
|
+
});
|
|
131
|
+
};
|
|
132
|
+
var getTTAI = exports.getTTAI = function getTTAI(interaction) {
|
|
133
|
+
var start = interaction.start,
|
|
134
|
+
end = interaction.end;
|
|
135
|
+
var pageVisibilityUpToTTAI = getPageVisibilityUpToTTAI(interaction);
|
|
136
|
+
return !interaction.abortReason && pageVisibilityUpToTTAI === 'visible' ? Math.round(end - start) : undefined;
|
|
137
|
+
};
|