@atlaskit/react-ufo 2.4.5 → 2.4.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/CHANGELOG.md +25 -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 +89 -0
- package/dist/cjs/create-payload/common/utils/index.js +85 -1
- package/dist/cjs/create-payload/index.js +49 -85
- package/dist/cjs/create-post-interaction-log-payload/index.js +1 -4
- package/dist/cjs/interaction-metrics/common/constants.js +7 -1
- package/dist/cjs/interaction-metrics/common/index.js +151 -0
- package/dist/cjs/interaction-metrics/index.js +139 -204
- package/dist/cjs/interaction-metrics/post-interaction-log.js +6 -2
- package/dist/cjs/interaction-metrics-init/index.js +27 -9
- package/dist/cjs/load-hold/UFOLoadHold.js +3 -4
- package/dist/cjs/segment/segment.js +7 -9
- package/dist/cjs/trace-pageload/index.js +2 -1
- package/dist/cjs/vc/vc-observer/observers/index.js +1 -40
- package/dist/es2019/config/index.js +22 -0
- package/dist/es2019/create-experimental-interaction-metrics-payload/index.js +67 -0
- package/dist/es2019/create-payload/common/utils/index.js +86 -1
- package/dist/es2019/create-payload/index.js +40 -81
- package/dist/es2019/create-post-interaction-log-payload/index.js +1 -4
- package/dist/es2019/interaction-metrics/common/constants.js +6 -0
- package/dist/es2019/interaction-metrics/common/index.js +103 -0
- package/dist/es2019/interaction-metrics/index.js +92 -129
- package/dist/es2019/interaction-metrics/post-interaction-log.js +6 -2
- package/dist/es2019/interaction-metrics-init/index.js +21 -8
- package/dist/es2019/load-hold/UFOLoadHold.js +3 -4
- package/dist/es2019/segment/segment.js +6 -12
- package/dist/es2019/trace-pageload/index.js +1 -1
- package/dist/es2019/vc/vc-observer/observers/index.js +1 -20
- package/dist/esm/config/index.js +39 -18
- package/dist/esm/create-experimental-interaction-metrics-payload/index.js +81 -0
- package/dist/esm/create-payload/common/utils/index.js +80 -1
- package/dist/esm/create-payload/index.js +45 -83
- package/dist/esm/create-post-interaction-log-payload/index.js +1 -4
- package/dist/esm/interaction-metrics/common/constants.js +6 -0
- package/dist/esm/interaction-metrics/common/index.js +132 -0
- package/dist/esm/interaction-metrics/index.js +87 -156
- package/dist/esm/interaction-metrics/post-interaction-log.js +6 -2
- package/dist/esm/interaction-metrics-init/index.js +24 -10
- package/dist/esm/load-hold/UFOLoadHold.js +3 -4
- package/dist/esm/segment/segment.js +7 -9
- package/dist/esm/trace-pageload/index.js +1 -1
- package/dist/esm/vc/vc-observer/observers/index.js +1 -40
- package/dist/types/common/common/types.d.ts +9 -5
- package/dist/types/config/index.d.ts +6 -0
- package/dist/types/create-experimental-interaction-metrics-payload/index.d.ts +31 -0
- package/dist/types/create-payload/common/utils/index.d.ts +12 -0
- package/dist/types/create-payload/index.d.ts +13 -5716
- package/dist/types/create-post-interaction-log-payload/index.d.ts +2 -0
- package/dist/types/interaction-metrics/common/constants.d.ts +31 -1
- package/dist/types/interaction-metrics/common/index.d.ts +16 -0
- package/dist/types/interaction-metrics/index.d.ts +4 -15
- package/dist/types/interaction-metrics/post-interaction-log.d.ts +1 -1
- package/dist/types/load-hold/UFOLoadHold.d.ts +1 -2
- package/dist/types/trace-pageload/index.d.ts +1 -0
- package/dist/types/vc/vc-observer/observers/index.d.ts +0 -1
- package/dist/types-ts4.5/common/common/types.d.ts +9 -5
- package/dist/types-ts4.5/config/index.d.ts +6 -0
- package/dist/types-ts4.5/create-experimental-interaction-metrics-payload/index.d.ts +31 -0
- package/dist/types-ts4.5/create-payload/common/utils/index.d.ts +12 -0
- package/dist/types-ts4.5/create-payload/index.d.ts +13 -5716
- package/dist/types-ts4.5/create-post-interaction-log-payload/index.d.ts +2 -0
- package/dist/types-ts4.5/interaction-metrics/common/constants.d.ts +31 -1
- package/dist/types-ts4.5/interaction-metrics/common/index.d.ts +16 -0
- package/dist/types-ts4.5/interaction-metrics/index.d.ts +4 -15
- package/dist/types-ts4.5/interaction-metrics/post-interaction-log.d.ts +1 -1
- package/dist/types-ts4.5/load-hold/UFOLoadHold.d.ts +1 -2
- package/dist/types-ts4.5/trace-pageload/index.d.ts +1 -0
- package/dist/types-ts4.5/vc/vc-observer/observers/index.d.ts +0 -1
- package/package.json +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,30 @@
|
|
|
1
1
|
# @atlaskit/ufo-interaction-ignore
|
|
2
2
|
|
|
3
|
+
## 2.4.7
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#175818](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/175818)
|
|
8
|
+
[`1401a5646d271`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/1401a5646d271) -
|
|
9
|
+
Add experimentalTTAI and experimentalVC90 to custom.post-interaction-log
|
|
10
|
+
- [#173211](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/173211)
|
|
11
|
+
[`202bc8df0c75a`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/202bc8df0c75a) -
|
|
12
|
+
Experimental UFO holds, VC90 and TTAI metrics
|
|
13
|
+
- [#175826](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/175826)
|
|
14
|
+
[`b5c5bf59d1cff`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/b5c5bf59d1cff) -
|
|
15
|
+
add rate limiting to experimental interaction metrics
|
|
16
|
+
|
|
17
|
+
## 2.4.6
|
|
18
|
+
|
|
19
|
+
### Patch Changes
|
|
20
|
+
|
|
21
|
+
- [#174829](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/174829)
|
|
22
|
+
[`381735c03773b`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/381735c03773b) -
|
|
23
|
+
add ufo: prefix to error count and stylesheet count metrics
|
|
24
|
+
- [#174760](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/174760)
|
|
25
|
+
[`0c5bbf0079bee`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/0c5bbf0079bee) -
|
|
26
|
+
Remove display style attribute mutation check
|
|
27
|
+
|
|
3
28
|
## 2.4.5
|
|
4
29
|
|
|
5
30
|
### 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,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.ExperimentalInteractionMetrics = void 0;
|
|
8
|
+
exports.createExperimentalInteractionMetricsPayload = createExperimentalInteractionMetricsPayload;
|
|
9
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
11
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
12
|
+
var _coinflip = _interopRequireDefault(require("../coinflip"));
|
|
13
|
+
var _config = require("../config");
|
|
14
|
+
var _createPayload = require("../create-payload");
|
|
15
|
+
var _hiddenTiming = require("../hidden-timing");
|
|
16
|
+
var _vcObserver = require("../vc/vc-observer");
|
|
17
|
+
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; }
|
|
18
|
+
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; }
|
|
19
|
+
var ExperimentalInteractionMetrics = exports.ExperimentalInteractionMetrics = /*#__PURE__*/function () {
|
|
20
|
+
function ExperimentalInteractionMetrics() {
|
|
21
|
+
(0, _classCallCheck2.default)(this, ExperimentalInteractionMetrics);
|
|
22
|
+
/**
|
|
23
|
+
* Handler function to process / send the observation data
|
|
24
|
+
*/
|
|
25
|
+
(0, _defineProperty2.default)(this, "sinkHandlerFn", function () {});
|
|
26
|
+
/**
|
|
27
|
+
* independent VC observer that observes until `custom.post-interaction-logs` event is sent
|
|
28
|
+
*/
|
|
29
|
+
(0, _defineProperty2.default)(this, "vcObserver", null);
|
|
30
|
+
}
|
|
31
|
+
(0, _createClass2.default)(ExperimentalInteractionMetrics, [{
|
|
32
|
+
key: "sinkHandler",
|
|
33
|
+
value:
|
|
34
|
+
/**
|
|
35
|
+
* Set the fn that would be invoked to process / send the observation data
|
|
36
|
+
*/
|
|
37
|
+
function sinkHandler(sinkHandlerFn) {
|
|
38
|
+
this.sinkHandlerFn = sinkHandlerFn;
|
|
39
|
+
}
|
|
40
|
+
}, {
|
|
41
|
+
key: "onInteractionComplete",
|
|
42
|
+
value: function onInteractionComplete(interactionId, data) {
|
|
43
|
+
var endTime = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : performance.now();
|
|
44
|
+
if (data.ufoName) {
|
|
45
|
+
data.end = endTime;
|
|
46
|
+
this.sinkHandlerFn(interactionId, data);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}, {
|
|
50
|
+
key: "initializeVCObserver",
|
|
51
|
+
value: function initializeVCObserver(options) {
|
|
52
|
+
if (this.vcObserver === null) {
|
|
53
|
+
this.vcObserver = new _vcObserver.VCObserver(_objectSpread(_objectSpread({}, options), {}, {
|
|
54
|
+
isPostInteraction: true
|
|
55
|
+
}));
|
|
56
|
+
}
|
|
57
|
+
return this;
|
|
58
|
+
}
|
|
59
|
+
}, {
|
|
60
|
+
key: "startVCObserver",
|
|
61
|
+
value: function startVCObserver(_ref) {
|
|
62
|
+
var _this$vcObserver;
|
|
63
|
+
var startTime = _ref.startTime;
|
|
64
|
+
(_this$vcObserver = this.vcObserver) === null || _this$vcObserver === void 0 || _this$vcObserver.start({
|
|
65
|
+
startTime: startTime
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
}]);
|
|
69
|
+
return ExperimentalInteractionMetrics;
|
|
70
|
+
}();
|
|
71
|
+
function createExperimentalInteractionMetricsPayload(interactionId, interaction) {
|
|
72
|
+
var config = (0, _config.getConfig)();
|
|
73
|
+
if (!config) {
|
|
74
|
+
throw Error('UFO Configuration not provided');
|
|
75
|
+
}
|
|
76
|
+
var ufoName = (0, _createPayload.getUfoNameOverride)(interaction);
|
|
77
|
+
var modifiedInteraction = _objectSpread(_objectSpread({}, interaction), {}, {
|
|
78
|
+
ufoName: ufoName
|
|
79
|
+
});
|
|
80
|
+
var rate = (0, _config.getExperimentalInteractionRate)(ufoName, interaction.type);
|
|
81
|
+
if (!(0, _coinflip.default)(rate)) {
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
84
|
+
var pageVisibilityState = (0, _hiddenTiming.getPageVisibilityState)(interaction.start, interaction.end);
|
|
85
|
+
if (pageVisibilityState !== 'visible') {
|
|
86
|
+
return null;
|
|
87
|
+
}
|
|
88
|
+
return (0, _createPayload.createInteractionMetricsPayload)(modifiedInteraction, interactionId, true);
|
|
89
|
+
}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.buildSegmentTree = buildSegmentTree;
|
|
9
|
+
exports.getPageVisibilityUpToTTAI = exports.getInteractionStatus = exports.getExperimentalVCMetrics = exports.calculateVCMetrics = void 0;
|
|
10
|
+
exports.getSSRDoneTimeValue = getSSRDoneTimeValue;
|
|
11
|
+
exports.getVCMetrics = exports.getTTAI = void 0;
|
|
8
12
|
exports.isSegmentLabel = isSegmentLabel;
|
|
9
13
|
exports.labelStackStartWith = labelStackStartWith;
|
|
10
14
|
exports.optimizeLabelStack = optimizeLabelStack;
|
|
@@ -12,6 +16,13 @@ exports.sanitizeUfoName = void 0;
|
|
|
12
16
|
exports.stringifyLabelStackFully = stringifyLabelStackFully;
|
|
13
17
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
14
18
|
var _constants = require("../../../common/constants");
|
|
19
|
+
var _config = require("../../../config");
|
|
20
|
+
var _hiddenTiming = require("../../../hidden-timing");
|
|
21
|
+
var _interactionMetrics = require("../../../interaction-metrics");
|
|
22
|
+
var ssr = _interopRequireWildcard(require("../../../ssr"));
|
|
23
|
+
var _vc = require("../../../vc");
|
|
24
|
+
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); }
|
|
25
|
+
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; }
|
|
15
26
|
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
27
|
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 */
|
|
17
28
|
var sanitizeUfoName = exports.sanitizeUfoName = function sanitizeUfoName(name) {
|
|
@@ -70,4 +81,77 @@ function optimizeLabelStack(labelStack) {
|
|
|
70
81
|
s: ls.segmentId
|
|
71
82
|
} : {});
|
|
72
83
|
});
|
|
73
|
-
}
|
|
84
|
+
}
|
|
85
|
+
var getInteractionStatus = exports.getInteractionStatus = function getInteractionStatus(interaction) {
|
|
86
|
+
var originalInteractionStatus = interaction.abortReason ? 'ABORTED' : 'SUCCEEDED';
|
|
87
|
+
var hasBm3TTI = interaction.apdex.length > 0;
|
|
88
|
+
var overrideStatus = hasBm3TTI ? 'SUCCEEDED' : originalInteractionStatus;
|
|
89
|
+
return {
|
|
90
|
+
originalInteractionStatus: originalInteractionStatus,
|
|
91
|
+
overrideStatus: overrideStatus
|
|
92
|
+
};
|
|
93
|
+
};
|
|
94
|
+
var getPageVisibilityUpToTTAI = exports.getPageVisibilityUpToTTAI = function getPageVisibilityUpToTTAI(interaction) {
|
|
95
|
+
var start = interaction.start,
|
|
96
|
+
end = interaction.end;
|
|
97
|
+
return (0, _hiddenTiming.getPageVisibilityState)(start, end);
|
|
98
|
+
};
|
|
99
|
+
var calculateVCMetrics = exports.calculateVCMetrics = function calculateVCMetrics(interaction, prefix, getVCResultFn) {
|
|
100
|
+
var _interaction$apdex;
|
|
101
|
+
var result = getVCResultFn({
|
|
102
|
+
start: interaction.start,
|
|
103
|
+
stop: interaction.end,
|
|
104
|
+
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,
|
|
105
|
+
prefix: prefix,
|
|
106
|
+
vc: interaction.vc
|
|
107
|
+
});
|
|
108
|
+
var VC = result === null || result === void 0 ? void 0 : result['metrics:vc'];
|
|
109
|
+
if (!VC || !(result !== null && result !== void 0 && result["".concat(prefix, ":vc:clean")])) {
|
|
110
|
+
return result;
|
|
111
|
+
}
|
|
112
|
+
var interactionStatus = getInteractionStatus(interaction);
|
|
113
|
+
var pageVisibilityUpToTTAI = getPageVisibilityUpToTTAI(interaction);
|
|
114
|
+
if (interactionStatus.originalInteractionStatus !== 'SUCCEEDED' || pageVisibilityUpToTTAI !== 'visible') {
|
|
115
|
+
return result;
|
|
116
|
+
}
|
|
117
|
+
return result;
|
|
118
|
+
};
|
|
119
|
+
function getSSRDoneTimeValue(config) {
|
|
120
|
+
var _config$ssr, _config$ssr2;
|
|
121
|
+
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() : ssr.getSSRDoneTime();
|
|
122
|
+
}
|
|
123
|
+
var getVCMetrics = exports.getVCMetrics = function getVCMetrics(interaction) {
|
|
124
|
+
var _config$vc, _result$metricsVc;
|
|
125
|
+
var config = (0, _config.getConfig)();
|
|
126
|
+
if (!(config !== null && config !== void 0 && (_config$vc = config.vc) !== null && _config$vc !== void 0 && _config$vc.enabled)) {
|
|
127
|
+
return {};
|
|
128
|
+
}
|
|
129
|
+
if (interaction.type !== 'page_load' && interaction.type !== 'transition') {
|
|
130
|
+
return {};
|
|
131
|
+
}
|
|
132
|
+
var ssr = interaction.type === 'page_load' && config !== null && config !== void 0 && config.ssr ? {
|
|
133
|
+
ssr: getSSRDoneTimeValue(config)
|
|
134
|
+
} : null;
|
|
135
|
+
_interactionMetrics.postInteractionLog.setVCObserverSSRConfig(ssr);
|
|
136
|
+
var result = calculateVCMetrics(interaction, 'ufo', (0, _vc.getVCObserver)().getVCResult);
|
|
137
|
+
return _objectSpread(_objectSpread({}, result), {}, {
|
|
138
|
+
'metric:vc90': result === null || result === void 0 || (_result$metricsVc = result['metrics:vc']) === null || _result$metricsVc === void 0 ? void 0 : _result$metricsVc['90']
|
|
139
|
+
});
|
|
140
|
+
};
|
|
141
|
+
var getExperimentalVCMetrics = exports.getExperimentalVCMetrics = function getExperimentalVCMetrics(interaction) {
|
|
142
|
+
if (_interactionMetrics.experimentalInteractionLog.vcObserver) {
|
|
143
|
+
var _result$metricsVc2;
|
|
144
|
+
var result = calculateVCMetrics(interaction, 'ufo-experimental', _interactionMetrics.experimentalInteractionLog.vcObserver.getVCResult);
|
|
145
|
+
return _objectSpread(_objectSpread({}, result), {}, {
|
|
146
|
+
'metric:experimental:vc90': result === null || result === void 0 || (_result$metricsVc2 = result['metrics:vc']) === null || _result$metricsVc2 === void 0 ? void 0 : _result$metricsVc2['90']
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
return null;
|
|
150
|
+
};
|
|
151
|
+
var getTTAI = exports.getTTAI = function getTTAI(interaction) {
|
|
152
|
+
var start = interaction.start,
|
|
153
|
+
end = interaction.end;
|
|
154
|
+
var interactionStatus = getInteractionStatus(interaction);
|
|
155
|
+
var pageVisibilityUpToTTAI = getPageVisibilityUpToTTAI(interaction);
|
|
156
|
+
return interactionStatus.originalInteractionStatus === 'SUCCEEDED' && pageVisibilityUpToTTAI === 'visible' ? Math.round(end - start) : undefined;
|
|
157
|
+
};
|