@uniformdev/context 19.146.1-alpha.1 → 19.146.2
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/dist/api/api.d.mts +1 -25
- package/dist/api/api.d.ts +1 -25
- package/dist/index.d.mts +3 -12
- package/dist/index.d.ts +3 -12
- package/dist/index.esm.js +7 -447
- package/dist/index.js +7 -448
- package/dist/index.mjs +7 -447
- package/dist/{types-DqYG-dCc.d.mts → types-WtfxfDct.d.mts} +2 -36
- package/dist/{types-DqYG-dCc.d.ts → types-WtfxfDct.d.ts} +2 -36
- package/package.json +3 -5
package/dist/index.esm.js
CHANGED
@@ -76,31 +76,6 @@ function computeAggregateDimension(primitiveScores, aggregateDimension, allAggre
|
|
76
76
|
// src/manifest/constants.ts
|
77
77
|
var ENR_SEPARATOR = "_";
|
78
78
|
|
79
|
-
// src/manifest/goals/evaluators/SignalGoalEvaluator.ts
|
80
|
-
var _signal, _id;
|
81
|
-
var SignalGoalEvaluator = class {
|
82
|
-
constructor(options) {
|
83
|
-
__privateAdd(this, _signal, void 0);
|
84
|
-
__privateAdd(this, _id, void 0);
|
85
|
-
__privateSet(this, _id, options.id);
|
86
|
-
__privateSet(this, _signal, options.signal);
|
87
|
-
}
|
88
|
-
get id() {
|
89
|
-
return __privateGet(this, _id);
|
90
|
-
}
|
91
|
-
evaluate({ scores, quirks }) {
|
92
|
-
const score = scores == null ? void 0 : scores[__privateGet(this, _id)];
|
93
|
-
const key = `goal_${__privateGet(this, _id)}_triggered`;
|
94
|
-
const hasGoalTriggered = (quirks == null ? void 0 : quirks[key]) === "1";
|
95
|
-
return {
|
96
|
-
key,
|
97
|
-
triggered: typeof score === "number" && !hasGoalTriggered
|
98
|
-
};
|
99
|
-
}
|
100
|
-
};
|
101
|
-
_signal = new WeakMap();
|
102
|
-
_id = new WeakMap();
|
103
|
-
|
104
79
|
// src/manifest/signals/SignalInstance.ts
|
105
80
|
var _evaluator, _onLogMessage;
|
106
81
|
var SignalInstance = class {
|
@@ -158,7 +133,7 @@ var rollForControlGroup = (value) => {
|
|
158
133
|
};
|
159
134
|
|
160
135
|
// src/manifest/ManifestInstance.ts
|
161
|
-
var _mf, _signalInstances,
|
136
|
+
var _mf, _signalInstances, _onLogMessage2;
|
162
137
|
var ManifestInstance = class {
|
163
138
|
constructor({
|
164
139
|
manifest,
|
@@ -170,19 +145,13 @@ var ManifestInstance = class {
|
|
170
145
|
__publicField(this, "data");
|
171
146
|
__privateAdd(this, _mf, void 0);
|
172
147
|
__privateAdd(this, _signalInstances, void 0);
|
173
|
-
__privateAdd(this, _goalEvaluators, []);
|
174
148
|
__privateAdd(this, _onLogMessage2, void 0);
|
175
|
-
var _a, _b, _c
|
149
|
+
var _a, _b, _c;
|
176
150
|
__privateSet(this, _mf, (_a = manifest.project) != null ? _a : {});
|
177
151
|
this.data = manifest;
|
178
152
|
__privateSet(this, _signalInstances, Object.entries((_c = (_b = __privateGet(this, _mf).pz) == null ? void 0 : _b.sig) != null ? _c : []).map(
|
179
153
|
([id, signal]) => new SignalInstance({ ...signal, id }, evaluator, onLogMessage)
|
180
154
|
));
|
181
|
-
Object.entries((_e = (_d = __privateGet(this, _mf).pz) == null ? void 0 : _d.sig) != null ? _e : []).forEach(([id, signal]) => {
|
182
|
-
if (signal.conversion) {
|
183
|
-
__privateGet(this, _goalEvaluators).push(new SignalGoalEvaluator({ id, signal }));
|
184
|
-
}
|
185
|
-
});
|
186
155
|
__privateSet(this, _onLogMessage2, onLogMessage);
|
187
156
|
}
|
188
157
|
rollForControlGroup() {
|
@@ -210,28 +179,6 @@ var ManifestInstance = class {
|
|
210
179
|
}
|
211
180
|
return commands;
|
212
181
|
}
|
213
|
-
computeGoals(data) {
|
214
|
-
const commands = [];
|
215
|
-
__privateGet(this, _goalEvaluators).forEach((evaluator) => {
|
216
|
-
const { triggered, key } = evaluator.evaluate(data);
|
217
|
-
if (triggered) {
|
218
|
-
commands.push({
|
219
|
-
type: "setgoal",
|
220
|
-
data: {
|
221
|
-
goal: evaluator.id
|
222
|
-
}
|
223
|
-
});
|
224
|
-
commands.push({
|
225
|
-
type: "setquirk",
|
226
|
-
data: {
|
227
|
-
key,
|
228
|
-
value: "1"
|
229
|
-
}
|
230
|
-
});
|
231
|
-
}
|
232
|
-
});
|
233
|
-
return commands;
|
234
|
-
}
|
235
182
|
/**
|
236
183
|
* Computes aggregated scores based on other dimensions
|
237
184
|
*/
|
@@ -250,7 +197,6 @@ var ManifestInstance = class {
|
|
250
197
|
};
|
251
198
|
_mf = new WeakMap();
|
252
199
|
_signalInstances = new WeakMap();
|
253
|
-
_goalEvaluators = new WeakMap();
|
254
200
|
_onLogMessage2 = new WeakMap();
|
255
201
|
|
256
202
|
// src/manifest/signals/criteria/evaluators/cookieEvaluator.ts
|
@@ -1142,7 +1088,6 @@ var emptyVisitorData = () => ({
|
|
1142
1088
|
scores: {},
|
1143
1089
|
sessionScores: {},
|
1144
1090
|
tests: {},
|
1145
|
-
goals: {},
|
1146
1091
|
consent: false,
|
1147
1092
|
controlGroup: false,
|
1148
1093
|
personalizeVariants: {}
|
@@ -1158,7 +1103,7 @@ var clone = rfdc();
|
|
1158
1103
|
function applyCommandsToData(commands, state, inControlGroup) {
|
1159
1104
|
const newData = state ? clone(state) : emptyVisitorData();
|
1160
1105
|
commands.forEach((command) => {
|
1161
|
-
var _a, _b
|
1106
|
+
var _a, _b;
|
1162
1107
|
switch (command.type) {
|
1163
1108
|
case "consent":
|
1164
1109
|
newData.consent = command.data;
|
@@ -1213,10 +1158,6 @@ function applyCommandsToData(commands, state, inControlGroup) {
|
|
1213
1158
|
console.warn("Overwriting existing control group definition is not allowed");
|
1214
1159
|
}
|
1215
1160
|
break;
|
1216
|
-
case "setgoal":
|
1217
|
-
newData.goals = (_c = newData.goals) != null ? _c : {};
|
1218
|
-
newData.goals[command.data.goal] = true;
|
1219
|
-
break;
|
1220
1161
|
default:
|
1221
1162
|
throw new Error(`Unknown command`);
|
1222
1163
|
}
|
@@ -1382,7 +1323,7 @@ currentData_get = function() {
|
|
1382
1323
|
};
|
1383
1324
|
_replaceData = new WeakSet();
|
1384
1325
|
replaceData_fn = function(data, quiet = false) {
|
1385
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _i
|
1326
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i;
|
1386
1327
|
const oldData = __privateGet(this, _currentData, currentData_get);
|
1387
1328
|
const now = Date.now();
|
1388
1329
|
if (data.controlGroup) {
|
@@ -1403,7 +1344,6 @@ replaceData_fn = function(data, quiet = false) {
|
|
1403
1344
|
const haveSessionScoresChanged = !dequal3(oldData == null ? void 0 : oldData.visitorData.sessionScores, data.sessionScores);
|
1404
1345
|
const haveQuirksChanged = !dequal3(oldData == null ? void 0 : oldData.visitorData.quirks, data.quirks);
|
1405
1346
|
const haveTestsChanged = !dequal3(oldData == null ? void 0 : oldData.visitorData.tests, data.tests);
|
1406
|
-
const haveGoalsChanged = !dequal3(oldData == null ? void 0 : oldData.visitorData.goals, data.goals);
|
1407
1347
|
const updatedData = {
|
1408
1348
|
updated: now,
|
1409
1349
|
visitorData: data
|
@@ -1428,15 +1368,6 @@ replaceData_fn = function(data, quiet = false) {
|
|
1428
1368
|
__privateGet(this, _mitt2).emit("controlGroupUpdated", data);
|
1429
1369
|
(_i = (_h = __privateGet(this, _options)).onLogMessage) == null ? void 0 : _i.call(_h, ["debug", 104, (_g = data.controlGroup) != null ? _g : false]);
|
1430
1370
|
}
|
1431
|
-
if (haveGoalsChanged) {
|
1432
|
-
const newGoalKeys = Object.keys((_j = data.goals) != null ? _j : {});
|
1433
|
-
for (let i = 0; i < newGoalKeys.length; i++) {
|
1434
|
-
const key = newGoalKeys[i];
|
1435
|
-
if (!((_k = oldData == null ? void 0 : oldData.visitorData.goals) == null ? void 0 : _k[key])) {
|
1436
|
-
__privateGet(this, _mitt2).emit("goalConverted", { goalId: key });
|
1437
|
-
}
|
1438
|
-
}
|
1439
|
-
}
|
1440
1371
|
}
|
1441
1372
|
};
|
1442
1373
|
_setVisitTimeout = new WeakSet();
|
@@ -1489,11 +1420,10 @@ import { dequal as dequal4 } from "dequal/lite";
|
|
1489
1420
|
import mitt3 from "mitt";
|
1490
1421
|
var CONTEXTUAL_EDITING_TEST_NAME = "contextual_editing_test";
|
1491
1422
|
var CONTEXTUAL_EDITING_TEST_SELECTED_VARIANT_ID = "contextual_editing_test_selected_variant";
|
1492
|
-
var _serverTransitionState, _scores, _state, _pzCache,
|
1423
|
+
var _serverTransitionState, _scores, _state, _pzCache, _mitt3, _emitTest, emitTest_fn, _updateComputedScores, updateComputedScores_fn, _calculateScores, calculateScores_fn;
|
1493
1424
|
var Context = class {
|
1494
1425
|
constructor(options) {
|
1495
1426
|
__privateAdd(this, _emitTest);
|
1496
|
-
__privateAdd(this, _updateGoals);
|
1497
1427
|
__privateAdd(this, _updateComputedScores);
|
1498
1428
|
__privateAdd(this, _calculateScores);
|
1499
1429
|
__publicField(this, "manifest");
|
@@ -1501,7 +1431,6 @@ var Context = class {
|
|
1501
1431
|
__privateAdd(this, _scores, {});
|
1502
1432
|
__privateAdd(this, _state, void 0);
|
1503
1433
|
__privateAdd(this, _pzCache, {});
|
1504
|
-
__privateAdd(this, _plugins, void 0);
|
1505
1434
|
__privateAdd(this, _mitt3, mitt3());
|
1506
1435
|
/**
|
1507
1436
|
* Subscribe to events
|
@@ -1514,8 +1443,7 @@ var Context = class {
|
|
1514
1443
|
var _a, _b;
|
1515
1444
|
const { manifest, ...storageOptions } = options;
|
1516
1445
|
__privateSet(this, _state, {});
|
1517
|
-
|
1518
|
-
(_a = __privateGet(this, _plugins)) == null ? void 0 : _a.forEach((plugin) => {
|
1446
|
+
(_a = options.plugins) == null ? void 0 : _a.forEach((plugin) => {
|
1519
1447
|
if (!plugin.logDrain) {
|
1520
1448
|
return;
|
1521
1449
|
}
|
@@ -1558,15 +1486,11 @@ var Context = class {
|
|
1558
1486
|
previousState: __privateGet(this, _state),
|
1559
1487
|
visitor: this.storage.data
|
1560
1488
|
});
|
1561
|
-
__privateMethod(this, _updateGoals, updateGoals_fn).call(this, {
|
1562
|
-
quirks: quirks.quirks,
|
1563
|
-
scores: void 0
|
1564
|
-
});
|
1565
1489
|
this.storage.updateData(updates);
|
1566
1490
|
__privateGet(this, _mitt3).emit("quirksUpdated", quirks.quirks);
|
1567
1491
|
__privateGet(this, _mitt3).emit("log", ["info", 4, quirks.quirks]);
|
1568
1492
|
});
|
1569
|
-
(_b =
|
1493
|
+
(_b = options.plugins) == null ? void 0 : _b.forEach((plugin) => {
|
1570
1494
|
if (!plugin.init) {
|
1571
1495
|
return;
|
1572
1496
|
}
|
@@ -1701,15 +1625,6 @@ var Context = class {
|
|
1701
1625
|
__privateSet(this, _serverTransitionState, void 0);
|
1702
1626
|
__privateGet(this, _mitt3).emit("log", ["debug", 131]);
|
1703
1627
|
}
|
1704
|
-
if (__privateGet(this, _plugins)) {
|
1705
|
-
for (let i = 0; i < __privateGet(this, _plugins).length; i++) {
|
1706
|
-
const plugin = __privateGet(this, _plugins)[i];
|
1707
|
-
if (!plugin.update) {
|
1708
|
-
continue;
|
1709
|
-
}
|
1710
|
-
await plugin.update(newData);
|
1711
|
-
}
|
1712
|
-
}
|
1713
1628
|
} finally {
|
1714
1629
|
__privateGet(this, _mitt3).emit("log", ["info", 2, "ENDGROUP"]);
|
1715
1630
|
}
|
@@ -1805,15 +1720,6 @@ var Context = class {
|
|
1805
1720
|
*/
|
1806
1721
|
async forget(fromAllDevices) {
|
1807
1722
|
__privateSet(this, _state, {});
|
1808
|
-
if (__privateGet(this, _plugins)) {
|
1809
|
-
for (let i = 0; i < __privateGet(this, _plugins).length; i++) {
|
1810
|
-
const plugin = __privateGet(this, _plugins)[i];
|
1811
|
-
if (!plugin.forget) {
|
1812
|
-
continue;
|
1813
|
-
}
|
1814
|
-
await plugin.forget();
|
1815
|
-
}
|
1816
|
-
}
|
1817
1723
|
await this.storage.delete(fromAllDevices);
|
1818
1724
|
}
|
1819
1725
|
/**
|
@@ -1854,29 +1760,17 @@ _serverTransitionState = new WeakMap();
|
|
1854
1760
|
_scores = new WeakMap();
|
1855
1761
|
_state = new WeakMap();
|
1856
1762
|
_pzCache = new WeakMap();
|
1857
|
-
_plugins = new WeakMap();
|
1858
1763
|
_mitt3 = new WeakMap();
|
1859
1764
|
_emitTest = new WeakSet();
|
1860
1765
|
emitTest_fn = function(event) {
|
1861
1766
|
__privateGet(this, _mitt3).emit("testResult", event);
|
1862
1767
|
};
|
1863
|
-
_updateGoals = new WeakSet();
|
1864
|
-
updateGoals_fn = async function(data) {
|
1865
|
-
const goalCommands = this.manifest.computeGoals(data);
|
1866
|
-
if (goalCommands.length !== 0) {
|
1867
|
-
await this.storage.updateData(goalCommands);
|
1868
|
-
}
|
1869
|
-
};
|
1870
1768
|
_updateComputedScores = new WeakSet();
|
1871
1769
|
updateComputedScores_fn = function(newData) {
|
1872
1770
|
const newScores = __privateMethod(this, _calculateScores, calculateScores_fn).call(this, newData);
|
1873
1771
|
const newScoresHaveChanged = !dequal4(newScores, __privateGet(this, _scores));
|
1874
1772
|
if (newScoresHaveChanged) {
|
1875
1773
|
__privateSet(this, _scores, newScores);
|
1876
|
-
__privateMethod(this, _updateGoals, updateGoals_fn).call(this, {
|
1877
|
-
scores: __privateGet(this, _scores),
|
1878
|
-
quirks: void 0
|
1879
|
-
});
|
1880
1774
|
__privateGet(this, _mitt3).emit("scoresUpdated", newScores);
|
1881
1775
|
__privateGet(this, _mitt3).emit("log", ["info", 3, newScores]);
|
1882
1776
|
}
|
@@ -2015,339 +1909,6 @@ var ScriptType = /* @__PURE__ */ ((ScriptType2) => {
|
|
2015
1909
|
})(ScriptType || {});
|
2016
1910
|
var EdgeNodeTagName = "nesitag";
|
2017
1911
|
|
2018
|
-
// src/insights/index.ts
|
2019
|
-
import { v4 } from "uuid";
|
2020
|
-
var getBasePayload = () => {
|
2021
|
-
const timeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
2022
|
-
const locale = navigator.languages && navigator.languages.length ? navigator.languages[0] : navigator.userLanguage || navigator.language || navigator.browserLanguage || "en";
|
2023
|
-
return {
|
2024
|
-
"user-agent": window.navigator.userAgent,
|
2025
|
-
locale,
|
2026
|
-
location: timeZone,
|
2027
|
-
referrer: document.referrer,
|
2028
|
-
pathname: window.location.pathname,
|
2029
|
-
href: window.location.href
|
2030
|
-
};
|
2031
|
-
};
|
2032
|
-
var createInsightsClient = ({ endpoint }) => {
|
2033
|
-
const url = new URL(endpoint.host);
|
2034
|
-
url.pathname = "/v0/events";
|
2035
|
-
url.searchParams.set("name", "analytics_events");
|
2036
|
-
const endpointUrl = url.toString();
|
2037
|
-
const sendMessage = async (message) => {
|
2038
|
-
if (typeof window.__UNIFORM_CONTEXTUAL_EDITING__ !== "undefined") {
|
2039
|
-
return;
|
2040
|
-
}
|
2041
|
-
const converted = {
|
2042
|
-
...message,
|
2043
|
-
payload: JSON.stringify(message.payload)
|
2044
|
-
};
|
2045
|
-
const response = await fetch(endpointUrl, {
|
2046
|
-
method: "POST",
|
2047
|
-
headers: {
|
2048
|
-
"Content-Type": "application/json",
|
2049
|
-
Authorization: `Bearer ${endpoint.apiKey}`
|
2050
|
-
},
|
2051
|
-
body: JSON.stringify(converted)
|
2052
|
-
});
|
2053
|
-
const json = await response.json();
|
2054
|
-
return json;
|
2055
|
-
};
|
2056
|
-
return {
|
2057
|
-
sessionStart: (options) => {
|
2058
|
-
const message = {
|
2059
|
-
action: "session_start",
|
2060
|
-
version: "1",
|
2061
|
-
session_id: options.sessionId,
|
2062
|
-
visitor_id: options.visitorId,
|
2063
|
-
page_view_id: options.pageId,
|
2064
|
-
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
2065
|
-
payload: {
|
2066
|
-
...getBasePayload(),
|
2067
|
-
previous_session_id: options.previousSessionId
|
2068
|
-
}
|
2069
|
-
};
|
2070
|
-
return sendMessage(message);
|
2071
|
-
},
|
2072
|
-
pageHit: (options) => {
|
2073
|
-
const message = {
|
2074
|
-
action: "page_hit",
|
2075
|
-
version: "1",
|
2076
|
-
session_id: options.sessionId,
|
2077
|
-
visitor_id: options.visitorId,
|
2078
|
-
page_view_id: options.pageId,
|
2079
|
-
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
2080
|
-
payload: getBasePayload()
|
2081
|
-
};
|
2082
|
-
return sendMessage(message);
|
2083
|
-
},
|
2084
|
-
testResult: async (options) => {
|
2085
|
-
const message = {
|
2086
|
-
action: "test_result",
|
2087
|
-
version: "1",
|
2088
|
-
session_id: options.sessionId,
|
2089
|
-
visitor_id: options.visitorId,
|
2090
|
-
page_view_id: options.pageId,
|
2091
|
-
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
2092
|
-
payload: {
|
2093
|
-
...getBasePayload(),
|
2094
|
-
...options
|
2095
|
-
}
|
2096
|
-
};
|
2097
|
-
return sendMessage(message);
|
2098
|
-
},
|
2099
|
-
personalizationResult: async (options) => {
|
2100
|
-
const messages = options.variantIds.map((variant) => {
|
2101
|
-
const message = {
|
2102
|
-
action: "personalization_result",
|
2103
|
-
version: "1",
|
2104
|
-
session_id: options.sessionId,
|
2105
|
-
visitor_id: options.visitorId,
|
2106
|
-
page_view_id: options.pageId,
|
2107
|
-
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
2108
|
-
payload: {
|
2109
|
-
...getBasePayload(),
|
2110
|
-
name: options.name,
|
2111
|
-
variantId: variant.id,
|
2112
|
-
control: variant.control || options.control,
|
2113
|
-
changed: options.changed
|
2114
|
-
}
|
2115
|
-
};
|
2116
|
-
return message;
|
2117
|
-
});
|
2118
|
-
await Promise.all(messages.map((message) => sendMessage(message)));
|
2119
|
-
},
|
2120
|
-
goalConvert: (options) => {
|
2121
|
-
const message = {
|
2122
|
-
action: "goal_convert",
|
2123
|
-
version: "1",
|
2124
|
-
session_id: options.sessionId,
|
2125
|
-
visitor_id: options.visitorId,
|
2126
|
-
page_view_id: options.pageId,
|
2127
|
-
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
2128
|
-
payload: {
|
2129
|
-
...getBasePayload(),
|
2130
|
-
goalId: options.goalId
|
2131
|
-
}
|
2132
|
-
};
|
2133
|
-
return sendMessage(message);
|
2134
|
-
},
|
2135
|
-
scoresChange: async (options) => {
|
2136
|
-
const message = {
|
2137
|
-
action: "scores_change",
|
2138
|
-
version: "1",
|
2139
|
-
session_id: options.sessionId,
|
2140
|
-
visitor_id: options.visitorId,
|
2141
|
-
page_view_id: options.pageId,
|
2142
|
-
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
2143
|
-
payload: {
|
2144
|
-
...getBasePayload(),
|
2145
|
-
scores: options.scores
|
2146
|
-
}
|
2147
|
-
};
|
2148
|
-
return sendMessage(message);
|
2149
|
-
}
|
2150
|
-
};
|
2151
|
-
};
|
2152
|
-
var createInsightsStorage = () => {
|
2153
|
-
const STORAGE_KEY2 = "ufin";
|
2154
|
-
return {
|
2155
|
-
get: () => {
|
2156
|
-
const data = localStorage.getItem(STORAGE_KEY2);
|
2157
|
-
if (!data) {
|
2158
|
-
return;
|
2159
|
-
}
|
2160
|
-
return JSON.parse(data);
|
2161
|
-
},
|
2162
|
-
set: (data) => {
|
2163
|
-
const toSet = {
|
2164
|
-
...data,
|
2165
|
-
updated: Date.now()
|
2166
|
-
};
|
2167
|
-
localStorage.setItem(STORAGE_KEY2, JSON.stringify(toSet));
|
2168
|
-
},
|
2169
|
-
clear: () => {
|
2170
|
-
localStorage.removeItem(STORAGE_KEY2);
|
2171
|
-
}
|
2172
|
-
};
|
2173
|
-
};
|
2174
|
-
var generateVisitorId = () => {
|
2175
|
-
return `visitor_${generalRandomId()}`;
|
2176
|
-
};
|
2177
|
-
var generateSessionId = () => {
|
2178
|
-
return `session_${generalRandomId()}`;
|
2179
|
-
};
|
2180
|
-
var generatePageId = () => {
|
2181
|
-
return `page_${generalRandomId()}`;
|
2182
|
-
};
|
2183
|
-
var createInsights = ({
|
2184
|
-
endpoint,
|
2185
|
-
sessionDurationSeconds = 30 * 60
|
2186
|
-
}) => {
|
2187
|
-
const client = createInsightsClient({
|
2188
|
-
endpoint
|
2189
|
-
});
|
2190
|
-
const storage = createInsightsStorage();
|
2191
|
-
let storageData = void 0;
|
2192
|
-
let pageId = generatePageId();
|
2193
|
-
let previousUrl = void 0;
|
2194
|
-
return {
|
2195
|
-
init: () => {
|
2196
|
-
storageData = storage.get();
|
2197
|
-
if (!storageData || Date.now() - storageData.updated > sessionDurationSeconds * 1e3) {
|
2198
|
-
const previousSessionId = storageData == null ? void 0 : storageData.sessionId;
|
2199
|
-
storageData = {
|
2200
|
-
visitorId: (storageData == null ? void 0 : storageData.visitorId) || generateVisitorId(),
|
2201
|
-
sessionId: generateSessionId(),
|
2202
|
-
updated: Date.now()
|
2203
|
-
};
|
2204
|
-
storage.set(storageData);
|
2205
|
-
client.sessionStart({
|
2206
|
-
visitorId: storageData.visitorId,
|
2207
|
-
sessionId: storageData.sessionId,
|
2208
|
-
previousSessionId,
|
2209
|
-
maxAgeSeconds: sessionDurationSeconds,
|
2210
|
-
pageId
|
2211
|
-
});
|
2212
|
-
} else if (storageData) {
|
2213
|
-
storage.set(storageData);
|
2214
|
-
}
|
2215
|
-
},
|
2216
|
-
pageHit: () => {
|
2217
|
-
if (!storageData) {
|
2218
|
-
console.error("Insights not initialized");
|
2219
|
-
return;
|
2220
|
-
}
|
2221
|
-
if (previousUrl === window.location.href) {
|
2222
|
-
return;
|
2223
|
-
}
|
2224
|
-
previousUrl = window.location.href;
|
2225
|
-
pageId = generatePageId();
|
2226
|
-
client.pageHit({
|
2227
|
-
visitorId: storageData.visitorId,
|
2228
|
-
sessionId: storageData.sessionId,
|
2229
|
-
pageId
|
2230
|
-
});
|
2231
|
-
},
|
2232
|
-
testResult: (result) => {
|
2233
|
-
if (!storageData) {
|
2234
|
-
console.error("Insights not initialized");
|
2235
|
-
return;
|
2236
|
-
}
|
2237
|
-
client.testResult({
|
2238
|
-
...result,
|
2239
|
-
visitorId: storageData.visitorId,
|
2240
|
-
sessionId: storageData.sessionId,
|
2241
|
-
pageId
|
2242
|
-
});
|
2243
|
-
},
|
2244
|
-
personalizationResult: (result) => {
|
2245
|
-
if (!storageData) {
|
2246
|
-
console.error("Insights not initialized");
|
2247
|
-
return;
|
2248
|
-
}
|
2249
|
-
client.personalizationResult({
|
2250
|
-
...result,
|
2251
|
-
visitorId: storageData.visitorId,
|
2252
|
-
sessionId: storageData.sessionId,
|
2253
|
-
pageId
|
2254
|
-
});
|
2255
|
-
},
|
2256
|
-
goalConvert: (goalId) => {
|
2257
|
-
if (!storageData) {
|
2258
|
-
console.error("Insights not initialized");
|
2259
|
-
return;
|
2260
|
-
}
|
2261
|
-
client.goalConvert({
|
2262
|
-
visitorId: storageData.visitorId,
|
2263
|
-
sessionId: storageData.sessionId,
|
2264
|
-
goalId,
|
2265
|
-
pageId
|
2266
|
-
});
|
2267
|
-
},
|
2268
|
-
scoresChange: (scores) => {
|
2269
|
-
if (!storageData) {
|
2270
|
-
console.error("Insights not initialized");
|
2271
|
-
return;
|
2272
|
-
}
|
2273
|
-
client.scoresChange({
|
2274
|
-
visitorId: storageData.visitorId,
|
2275
|
-
sessionId: storageData.sessionId,
|
2276
|
-
scores,
|
2277
|
-
pageId
|
2278
|
-
});
|
2279
|
-
},
|
2280
|
-
forget: () => {
|
2281
|
-
storage.clear();
|
2282
|
-
storageData = void 0;
|
2283
|
-
},
|
2284
|
-
get sessionId() {
|
2285
|
-
return storageData == null ? void 0 : storageData.sessionId;
|
2286
|
-
}
|
2287
|
-
};
|
2288
|
-
};
|
2289
|
-
var enableUniformInsights = (options) => {
|
2290
|
-
const insights = createInsights({
|
2291
|
-
endpoint: options.endpoint
|
2292
|
-
});
|
2293
|
-
let previousUrl = void 0;
|
2294
|
-
return {
|
2295
|
-
init: (context) => {
|
2296
|
-
if (typeof window === "undefined") {
|
2297
|
-
return () => {
|
2298
|
-
};
|
2299
|
-
}
|
2300
|
-
const consentChanged = () => {
|
2301
|
-
if (context.storage.data.consent) {
|
2302
|
-
insights.init();
|
2303
|
-
} else {
|
2304
|
-
insights.forget();
|
2305
|
-
}
|
2306
|
-
};
|
2307
|
-
const handlePersonalizationResult = (data) => {
|
2308
|
-
insights.personalizationResult(data);
|
2309
|
-
};
|
2310
|
-
const handleTestResult = (result) => {
|
2311
|
-
insights.testResult(result);
|
2312
|
-
};
|
2313
|
-
const handleGoalConvert = (result) => {
|
2314
|
-
insights.goalConvert(result.goalId);
|
2315
|
-
};
|
2316
|
-
const handleScoreChange = (scores) => {
|
2317
|
-
insights.scoresChange(scores);
|
2318
|
-
};
|
2319
|
-
context.storage.events.on("goalConverted", handleGoalConvert);
|
2320
|
-
context.storage.events.on("consentUpdated", consentChanged);
|
2321
|
-
context.events.on("personalizationResult", handlePersonalizationResult);
|
2322
|
-
context.events.on("testResult", handleTestResult);
|
2323
|
-
context.events.on("scoresUpdated", handleScoreChange);
|
2324
|
-
if (context.storage.data.consent) {
|
2325
|
-
consentChanged();
|
2326
|
-
}
|
2327
|
-
return () => {
|
2328
|
-
context.storage.events.off("consentUpdated", consentChanged);
|
2329
|
-
context.storage.events.off("goalConverted", handleGoalConvert);
|
2330
|
-
context.events.off("personalizationResult", handlePersonalizationResult);
|
2331
|
-
context.events.off("testResult", handleTestResult);
|
2332
|
-
context.events.off("scoresUpdated", handleScoreChange);
|
2333
|
-
};
|
2334
|
-
},
|
2335
|
-
update: (context) => {
|
2336
|
-
if (context.url && context.url !== previousUrl) {
|
2337
|
-
previousUrl = context.url;
|
2338
|
-
insights.pageHit();
|
2339
|
-
}
|
2340
|
-
},
|
2341
|
-
forget: () => {
|
2342
|
-
insights.forget();
|
2343
|
-
}
|
2344
|
-
};
|
2345
|
-
};
|
2346
|
-
var generalRandomId = () => {
|
2347
|
-
const id = v4();
|
2348
|
-
return id.replaceAll("-", "").toLowerCase();
|
2349
|
-
};
|
2350
|
-
|
2351
1912
|
// src/logging/enableConsoleLogDrain.ts
|
2352
1913
|
import rfdc2 from "rfdc";
|
2353
1914
|
|
@@ -2551,7 +2112,6 @@ export {
|
|
2551
2112
|
enableConsoleLogDrain,
|
2552
2113
|
enableContextDevTools,
|
2553
2114
|
enableDebugConsoleLogDrain,
|
2554
|
-
enableUniformInsights,
|
2555
2115
|
evaluateVariantMatch,
|
2556
2116
|
eventEvaluator,
|
2557
2117
|
explainStringMatch,
|