@uniformdev/context 19.201.1 → 19.202.1-alpha.9
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 -1
- package/dist/api/api.d.ts +1 -1
- package/dist/api/api.js +1 -1
- package/dist/api/api.mjs +1 -1
- package/dist/index.d.mts +25 -5
- package/dist/index.d.ts +25 -5
- package/dist/index.esm.js +63 -9
- package/dist/index.js +67 -9
- package/dist/index.mjs +63 -9
- package/dist/{types-WXZBuJXL.d.mts → types-yhnsCpvC.d.mts} +9 -2
- package/dist/{types-WXZBuJXL.d.ts → types-yhnsCpvC.d.ts} +9 -2
- package/package.json +3 -3
package/dist/api/api.d.mts
CHANGED
package/dist/api/api.d.ts
CHANGED
package/dist/api/api.js
CHANGED
@@ -229,7 +229,7 @@ async function handleRateLimits(callApi) {
|
|
229
229
|
if (typeof serverTime === "number" && typeof resetTime === "number") {
|
230
230
|
resetWait = Math.max(0, Math.min(Math.round(1.1 * (resetTime - serverTime)), 1e4));
|
231
231
|
}
|
232
|
-
} catch (
|
232
|
+
} catch (e) {
|
233
233
|
}
|
234
234
|
const base = Math.pow(2, backoffRetries - backoffRetriesLeft) * 333;
|
235
235
|
const backoffWait = base + Math.round(Math.random() * (base / 2)) * (Math.random() > 0.5 ? 1 : -1);
|
package/dist/api/api.mjs
CHANGED
@@ -164,7 +164,7 @@ async function handleRateLimits(callApi) {
|
|
164
164
|
if (typeof serverTime === "number" && typeof resetTime === "number") {
|
165
165
|
resetWait = Math.max(0, Math.min(Math.round(1.1 * (resetTime - serverTime)), 1e4));
|
166
166
|
}
|
167
|
-
} catch (
|
167
|
+
} catch (e) {
|
168
168
|
}
|
169
169
|
const base = Math.pow(2, backoffRetries - backoffRetriesLeft) * 333;
|
170
170
|
const backoffWait = base + Math.round(Math.random() * (base / 2)) * (Math.random() > 0.5 ? 1 : -1);
|
package/dist/index.d.mts
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
import { O as OutputSeverity, L as LogDrain, C as ContextPlugin, S as ScoreVector, A as AggregateDimension, T as TransitionDataStore, a as StorageCommands, V as VisitorData, b as TransitionDataStoreOptions, D as DecayFunction, c as CriteriaEvaluator, d as StringMatch, e as VariantMatchCriteria, f as LogMessage, g as DevToolsEvents } from './types-
|
2
|
-
export {
|
1
|
+
import { O as OutputSeverity, L as LogDrain, C as ContextPlugin, S as ScoreVector, A as AggregateDimension, T as TransitionDataStore, a as StorageCommands, V as VisitorData, Q as Quirks, b as TransitionDataStoreOptions, D as DecayFunction, c as CriteriaEvaluator, d as StringMatch, e as VariantMatchCriteria, f as LogMessage, g as DevToolsEvents } from './types-yhnsCpvC.mjs';
|
2
|
+
export { $ as AggregateDimensionInput, a5 as BehaviorTag, h as CONTEXTUAL_EDITING_TEST_NAME, i as CONTEXTUAL_EDITING_TEST_SELECTED_VARIANT_ID, n as Context, l as ContextEvents, m as ContextInstance, j as ContextOptions, az as ContextState, aA as ContextStateUpdate, J as CriteriaEvaluatorParameters, I as CriteriaEvaluatorResult, ao as DecayOptions, q as DevToolsActions, t as DevToolsDataEvent, r as DevToolsEvent, x as DevToolsForgetEvent, u as DevToolsHelloEvent, s as DevToolsLogEvent, w as DevToolsRawCommandsEvent, p as DevToolsState, o as DevToolsUiVersion, v as DevToolsUpdateEvent, a2 as DimensionMatch, Y as EnrichmentCategory, au as EnrichmentData, ax as EventData, aB as GoalStateUpdate, at as Goals, H as GroupCriteriaEvaluator, ah as IdentifyCommand, F as LogMessageGroup, E as LogMessageSingle, y as LogMessages, G as ManifestInstance, N as ManifestV2, M as MessageCategory, B as MessageFunc, ac as ModifyScoreCommand, ad as ModifySessionScoreCommand, Z as NumberMatch, P as PersonalizationEvent, R as PersonalizationManifest, av as PersonalizeControlVariant, a3 as PersonalizeOptions, aw as PersonalizeVariants, a7 as PersonalizedResult, a6 as PersonalizedVariant, am as SERVER_STATE_ID, al as ServerToClientTransitionState, ae as SetConsentCommand, ai as SetControlGroupCommand, ab as SetGoalCommand, aj as SetPersonalizeVariantControlCommand, af as SetQuirkCommand, ag as SetTestCommand, z as Severity, U as Signal, X as SignalCriteria, W as SignalCriteriaGroup, K as SignalData, aa as StorageCommand, _ as TestDefinition, k as TestEvent, a0 as TestOptions, a9 as TestResult, a8 as TestVariant, as as Tests, an as TransitionDataStoreEvents, ar as VisitorDataStore, aq as VisitorDataStoreEvents, ap as VisitorDataStoreOptions, ak as areCommandsEqual, ay as emptyVisitorData, a4 as personalizeVariations, a1 as testVariations } from './types-yhnsCpvC.mjs';
|
3
3
|
import Cookies from 'js-cookie';
|
4
4
|
import 'mitt';
|
5
5
|
|
@@ -27,11 +27,27 @@ type CookieTransitionDataStoreOptions = {
|
|
27
27
|
* IMPORTANT: If not passed, the transition store will not have any effect during SSR.
|
28
28
|
*/
|
29
29
|
serverCookieValue?: string;
|
30
|
+
/**
|
31
|
+
* @deprecated
|
32
|
+
* The value of the quirk cookie during server-side rendering.
|
33
|
+
*/
|
34
|
+
quirkCookieValue?: string;
|
35
|
+
/**
|
36
|
+
* @deprecated
|
37
|
+
* Whether to enable the experimental quirks feature.
|
38
|
+
*/
|
39
|
+
experimental_quirksEnabled?: boolean;
|
30
40
|
/**
|
31
41
|
* The name of the cookie to store client-to-server score information in.
|
32
42
|
* Defaults to UNIFORM_DEFAULT_COOKIE_NAME if not set.
|
33
43
|
*/
|
34
44
|
cookieName?: string;
|
45
|
+
/**
|
46
|
+
* @deprecated
|
47
|
+
* The name of the cookie to store quirks in.
|
48
|
+
* Defaults to UNIFORM_DEFAULT_QUIRK_COOKIE_NAME if not set.
|
49
|
+
*/
|
50
|
+
quirkCookieName?: string;
|
35
51
|
/**
|
36
52
|
* Attributes to set on the transfer cookie.
|
37
53
|
* Persistence is not necessary, because the data is only used for temporary transition;
|
@@ -40,20 +56,23 @@ type CookieTransitionDataStoreOptions = {
|
|
40
56
|
cookieAttributes?: Cookies.CookieAttributes;
|
41
57
|
};
|
42
58
|
declare const UNIFORM_DEFAULT_COOKIE_NAME = "ufvd";
|
59
|
+
declare const UNIFORM_DEFAULT_QUIRK_COOKIE_NAME = "ufvdqk";
|
43
60
|
/**
|
44
61
|
* Handles client-to-server score handoff using an encoded cookie with the visitor score vector.
|
45
62
|
* NOTE: forget me is not supported when on the server side.
|
46
63
|
*/
|
47
64
|
declare class CookieTransitionDataStore extends TransitionDataStore {
|
48
65
|
#private;
|
49
|
-
constructor({ serverCookieValue, cookieName, cookieAttributes, }: CookieTransitionDataStoreOptions);
|
66
|
+
constructor({ serverCookieValue, experimental_quirksEnabled, quirkCookieValue, quirkCookieName, cookieName, cookieAttributes, }: CookieTransitionDataStoreOptions);
|
50
67
|
handleDelete(): Promise<void>;
|
51
68
|
handleUpdateData(_: StorageCommands[], computedValue: VisitorData): Promise<void>;
|
52
69
|
}
|
53
70
|
declare const TYPE_SEP = "~";
|
54
71
|
declare const PAIR_SEP = "!";
|
55
72
|
declare const KV_SEP = "-";
|
56
|
-
declare
|
73
|
+
declare const QUIRK_SEP = "!!";
|
74
|
+
declare function parseScoreCookie(cookieValue: string | undefined, quirkCookieValue?: string): Partial<VisitorData> | undefined;
|
75
|
+
declare function parseQuirkCookie(quirkCookieValue: string): Quirks;
|
57
76
|
declare function parseCookieScores(type: string | undefined): Record<string, string>;
|
58
77
|
declare function parseCookieType(type: string | undefined): Record<string, string>;
|
59
78
|
declare function decodeCookieType(type: Record<string, string>): Record<string, number>;
|
@@ -62,6 +81,7 @@ declare function serializePersonalizeVariants({ personalizeVariants, }: Pick<Vis
|
|
62
81
|
declare function decodePersonalizeVariants(data: string | undefined): VisitorData['personalizeVariants'];
|
63
82
|
declare function encodeCookieType(type: Record<string, number>): Record<string, string>;
|
64
83
|
declare function serializeCookieType(type: Record<string, string>): string;
|
84
|
+
declare function serializeQuirks(quirks: Quirks): string;
|
65
85
|
|
66
86
|
type EdgeTransitionDataStoreOptions = TransitionDataStoreOptions & {
|
67
87
|
serverCookieValue?: string;
|
@@ -189,4 +209,4 @@ type QuickConnectConfig = {
|
|
189
209
|
declare function serializeQuickConnect(config: QuickConnectConfig): string;
|
190
210
|
declare function parseQuickConnect(serialized: string): Required<QuickConnectConfig>;
|
191
211
|
|
192
|
-
export { AggregateDimension, type ConsoleDebugLogDrainOptions, type ContextDevToolOptions, ContextPlugin, CookieTransitionDataStore, type CookieTransitionDataStoreOptions, CriteriaEvaluator, DecayFunction, DevToolsEvents, EdgeNodeTagName, type EdgePersonalizeComponentOptions, type EdgeTestComponentOptions, EdgeTransitionDataStore, type EdgeTransitionDataStoreOptions, type EnableUniformInsightsOptions, KV_SEP, type LinearDecayOptions, LogDrain, LogMessage, OutputSeverity, PAIR_SEP, type QuickConnectConfig, ScoreVector, ScriptType, StorageCommands, StringMatch, TYPE_SEP, TransitionDataStore, TransitionDataStoreOptions, UNIFORM_DEFAULT_COOKIE_NAME, VariantMatchCriteria, VisitorData, computeAggregateDimensions, cookieEvaluator, createConsoleLogDrain, createDebugConsoleLogDrain, createLinearDecay, currentPageEvaluator, decodeCookieType, decodePersonalizeVariants, enableConsoleLogDrain, enableContextDevTools, enableDebugConsoleLogDrain, enableUniformInsights, encodeCookieType, evaluateVariantMatch, eventEvaluator, explainStringMatch, explainStringMatchCriteria, getEnrichmentVectorKey, isStringMatch, pageViewCountDimension, pageViewCountEvaluator, parseCookieScores, parseCookieType, parseQuickConnect, parseScoreCookie, queryStringEvaluator, quirkEvaluator, serializeCookie, serializeCookieType, serializePersonalizeVariants, serializeQuickConnect };
|
212
|
+
export { AggregateDimension, type ConsoleDebugLogDrainOptions, type ContextDevToolOptions, ContextPlugin, CookieTransitionDataStore, type CookieTransitionDataStoreOptions, CriteriaEvaluator, DecayFunction, DevToolsEvents, EdgeNodeTagName, type EdgePersonalizeComponentOptions, type EdgeTestComponentOptions, EdgeTransitionDataStore, type EdgeTransitionDataStoreOptions, type EnableUniformInsightsOptions, KV_SEP, type LinearDecayOptions, LogDrain, LogMessage, OutputSeverity, PAIR_SEP, QUIRK_SEP, type QuickConnectConfig, Quirks, ScoreVector, ScriptType, StorageCommands, StringMatch, TYPE_SEP, TransitionDataStore, TransitionDataStoreOptions, UNIFORM_DEFAULT_COOKIE_NAME, UNIFORM_DEFAULT_QUIRK_COOKIE_NAME, VariantMatchCriteria, VisitorData, computeAggregateDimensions, cookieEvaluator, createConsoleLogDrain, createDebugConsoleLogDrain, createLinearDecay, currentPageEvaluator, decodeCookieType, decodePersonalizeVariants, enableConsoleLogDrain, enableContextDevTools, enableDebugConsoleLogDrain, enableUniformInsights, encodeCookieType, evaluateVariantMatch, eventEvaluator, explainStringMatch, explainStringMatchCriteria, getEnrichmentVectorKey, isStringMatch, pageViewCountDimension, pageViewCountEvaluator, parseCookieScores, parseCookieType, parseQuickConnect, parseQuirkCookie, parseScoreCookie, queryStringEvaluator, quirkEvaluator, serializeCookie, serializeCookieType, serializePersonalizeVariants, serializeQuickConnect, serializeQuirks };
|
package/dist/index.d.ts
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
import { O as OutputSeverity, L as LogDrain, C as ContextPlugin, S as ScoreVector, A as AggregateDimension, T as TransitionDataStore, a as StorageCommands, V as VisitorData, b as TransitionDataStoreOptions, D as DecayFunction, c as CriteriaEvaluator, d as StringMatch, e as VariantMatchCriteria, f as LogMessage, g as DevToolsEvents } from './types-
|
2
|
-
export {
|
1
|
+
import { O as OutputSeverity, L as LogDrain, C as ContextPlugin, S as ScoreVector, A as AggregateDimension, T as TransitionDataStore, a as StorageCommands, V as VisitorData, Q as Quirks, b as TransitionDataStoreOptions, D as DecayFunction, c as CriteriaEvaluator, d as StringMatch, e as VariantMatchCriteria, f as LogMessage, g as DevToolsEvents } from './types-yhnsCpvC.js';
|
2
|
+
export { $ as AggregateDimensionInput, a5 as BehaviorTag, h as CONTEXTUAL_EDITING_TEST_NAME, i as CONTEXTUAL_EDITING_TEST_SELECTED_VARIANT_ID, n as Context, l as ContextEvents, m as ContextInstance, j as ContextOptions, az as ContextState, aA as ContextStateUpdate, J as CriteriaEvaluatorParameters, I as CriteriaEvaluatorResult, ao as DecayOptions, q as DevToolsActions, t as DevToolsDataEvent, r as DevToolsEvent, x as DevToolsForgetEvent, u as DevToolsHelloEvent, s as DevToolsLogEvent, w as DevToolsRawCommandsEvent, p as DevToolsState, o as DevToolsUiVersion, v as DevToolsUpdateEvent, a2 as DimensionMatch, Y as EnrichmentCategory, au as EnrichmentData, ax as EventData, aB as GoalStateUpdate, at as Goals, H as GroupCriteriaEvaluator, ah as IdentifyCommand, F as LogMessageGroup, E as LogMessageSingle, y as LogMessages, G as ManifestInstance, N as ManifestV2, M as MessageCategory, B as MessageFunc, ac as ModifyScoreCommand, ad as ModifySessionScoreCommand, Z as NumberMatch, P as PersonalizationEvent, R as PersonalizationManifest, av as PersonalizeControlVariant, a3 as PersonalizeOptions, aw as PersonalizeVariants, a7 as PersonalizedResult, a6 as PersonalizedVariant, am as SERVER_STATE_ID, al as ServerToClientTransitionState, ae as SetConsentCommand, ai as SetControlGroupCommand, ab as SetGoalCommand, aj as SetPersonalizeVariantControlCommand, af as SetQuirkCommand, ag as SetTestCommand, z as Severity, U as Signal, X as SignalCriteria, W as SignalCriteriaGroup, K as SignalData, aa as StorageCommand, _ as TestDefinition, k as TestEvent, a0 as TestOptions, a9 as TestResult, a8 as TestVariant, as as Tests, an as TransitionDataStoreEvents, ar as VisitorDataStore, aq as VisitorDataStoreEvents, ap as VisitorDataStoreOptions, ak as areCommandsEqual, ay as emptyVisitorData, a4 as personalizeVariations, a1 as testVariations } from './types-yhnsCpvC.js';
|
3
3
|
import Cookies from 'js-cookie';
|
4
4
|
import 'mitt';
|
5
5
|
|
@@ -27,11 +27,27 @@ type CookieTransitionDataStoreOptions = {
|
|
27
27
|
* IMPORTANT: If not passed, the transition store will not have any effect during SSR.
|
28
28
|
*/
|
29
29
|
serverCookieValue?: string;
|
30
|
+
/**
|
31
|
+
* @deprecated
|
32
|
+
* The value of the quirk cookie during server-side rendering.
|
33
|
+
*/
|
34
|
+
quirkCookieValue?: string;
|
35
|
+
/**
|
36
|
+
* @deprecated
|
37
|
+
* Whether to enable the experimental quirks feature.
|
38
|
+
*/
|
39
|
+
experimental_quirksEnabled?: boolean;
|
30
40
|
/**
|
31
41
|
* The name of the cookie to store client-to-server score information in.
|
32
42
|
* Defaults to UNIFORM_DEFAULT_COOKIE_NAME if not set.
|
33
43
|
*/
|
34
44
|
cookieName?: string;
|
45
|
+
/**
|
46
|
+
* @deprecated
|
47
|
+
* The name of the cookie to store quirks in.
|
48
|
+
* Defaults to UNIFORM_DEFAULT_QUIRK_COOKIE_NAME if not set.
|
49
|
+
*/
|
50
|
+
quirkCookieName?: string;
|
35
51
|
/**
|
36
52
|
* Attributes to set on the transfer cookie.
|
37
53
|
* Persistence is not necessary, because the data is only used for temporary transition;
|
@@ -40,20 +56,23 @@ type CookieTransitionDataStoreOptions = {
|
|
40
56
|
cookieAttributes?: Cookies.CookieAttributes;
|
41
57
|
};
|
42
58
|
declare const UNIFORM_DEFAULT_COOKIE_NAME = "ufvd";
|
59
|
+
declare const UNIFORM_DEFAULT_QUIRK_COOKIE_NAME = "ufvdqk";
|
43
60
|
/**
|
44
61
|
* Handles client-to-server score handoff using an encoded cookie with the visitor score vector.
|
45
62
|
* NOTE: forget me is not supported when on the server side.
|
46
63
|
*/
|
47
64
|
declare class CookieTransitionDataStore extends TransitionDataStore {
|
48
65
|
#private;
|
49
|
-
constructor({ serverCookieValue, cookieName, cookieAttributes, }: CookieTransitionDataStoreOptions);
|
66
|
+
constructor({ serverCookieValue, experimental_quirksEnabled, quirkCookieValue, quirkCookieName, cookieName, cookieAttributes, }: CookieTransitionDataStoreOptions);
|
50
67
|
handleDelete(): Promise<void>;
|
51
68
|
handleUpdateData(_: StorageCommands[], computedValue: VisitorData): Promise<void>;
|
52
69
|
}
|
53
70
|
declare const TYPE_SEP = "~";
|
54
71
|
declare const PAIR_SEP = "!";
|
55
72
|
declare const KV_SEP = "-";
|
56
|
-
declare
|
73
|
+
declare const QUIRK_SEP = "!!";
|
74
|
+
declare function parseScoreCookie(cookieValue: string | undefined, quirkCookieValue?: string): Partial<VisitorData> | undefined;
|
75
|
+
declare function parseQuirkCookie(quirkCookieValue: string): Quirks;
|
57
76
|
declare function parseCookieScores(type: string | undefined): Record<string, string>;
|
58
77
|
declare function parseCookieType(type: string | undefined): Record<string, string>;
|
59
78
|
declare function decodeCookieType(type: Record<string, string>): Record<string, number>;
|
@@ -62,6 +81,7 @@ declare function serializePersonalizeVariants({ personalizeVariants, }: Pick<Vis
|
|
62
81
|
declare function decodePersonalizeVariants(data: string | undefined): VisitorData['personalizeVariants'];
|
63
82
|
declare function encodeCookieType(type: Record<string, number>): Record<string, string>;
|
64
83
|
declare function serializeCookieType(type: Record<string, string>): string;
|
84
|
+
declare function serializeQuirks(quirks: Quirks): string;
|
65
85
|
|
66
86
|
type EdgeTransitionDataStoreOptions = TransitionDataStoreOptions & {
|
67
87
|
serverCookieValue?: string;
|
@@ -189,4 +209,4 @@ type QuickConnectConfig = {
|
|
189
209
|
declare function serializeQuickConnect(config: QuickConnectConfig): string;
|
190
210
|
declare function parseQuickConnect(serialized: string): Required<QuickConnectConfig>;
|
191
211
|
|
192
|
-
export { AggregateDimension, type ConsoleDebugLogDrainOptions, type ContextDevToolOptions, ContextPlugin, CookieTransitionDataStore, type CookieTransitionDataStoreOptions, CriteriaEvaluator, DecayFunction, DevToolsEvents, EdgeNodeTagName, type EdgePersonalizeComponentOptions, type EdgeTestComponentOptions, EdgeTransitionDataStore, type EdgeTransitionDataStoreOptions, type EnableUniformInsightsOptions, KV_SEP, type LinearDecayOptions, LogDrain, LogMessage, OutputSeverity, PAIR_SEP, type QuickConnectConfig, ScoreVector, ScriptType, StorageCommands, StringMatch, TYPE_SEP, TransitionDataStore, TransitionDataStoreOptions, UNIFORM_DEFAULT_COOKIE_NAME, VariantMatchCriteria, VisitorData, computeAggregateDimensions, cookieEvaluator, createConsoleLogDrain, createDebugConsoleLogDrain, createLinearDecay, currentPageEvaluator, decodeCookieType, decodePersonalizeVariants, enableConsoleLogDrain, enableContextDevTools, enableDebugConsoleLogDrain, enableUniformInsights, encodeCookieType, evaluateVariantMatch, eventEvaluator, explainStringMatch, explainStringMatchCriteria, getEnrichmentVectorKey, isStringMatch, pageViewCountDimension, pageViewCountEvaluator, parseCookieScores, parseCookieType, parseQuickConnect, parseScoreCookie, queryStringEvaluator, quirkEvaluator, serializeCookie, serializeCookieType, serializePersonalizeVariants, serializeQuickConnect };
|
212
|
+
export { AggregateDimension, type ConsoleDebugLogDrainOptions, type ContextDevToolOptions, ContextPlugin, CookieTransitionDataStore, type CookieTransitionDataStoreOptions, CriteriaEvaluator, DecayFunction, DevToolsEvents, EdgeNodeTagName, type EdgePersonalizeComponentOptions, type EdgeTestComponentOptions, EdgeTransitionDataStore, type EdgeTransitionDataStoreOptions, type EnableUniformInsightsOptions, KV_SEP, type LinearDecayOptions, LogDrain, LogMessage, OutputSeverity, PAIR_SEP, QUIRK_SEP, type QuickConnectConfig, Quirks, ScoreVector, ScriptType, StorageCommands, StringMatch, TYPE_SEP, TransitionDataStore, TransitionDataStoreOptions, UNIFORM_DEFAULT_COOKIE_NAME, UNIFORM_DEFAULT_QUIRK_COOKIE_NAME, VariantMatchCriteria, VisitorData, computeAggregateDimensions, cookieEvaluator, createConsoleLogDrain, createDebugConsoleLogDrain, createLinearDecay, currentPageEvaluator, decodeCookieType, decodePersonalizeVariants, enableConsoleLogDrain, enableContextDevTools, enableDebugConsoleLogDrain, enableUniformInsights, encodeCookieType, evaluateVariantMatch, eventEvaluator, explainStringMatch, explainStringMatchCriteria, getEnrichmentVectorKey, isStringMatch, pageViewCountDimension, pageViewCountEvaluator, parseCookieScores, parseCookieType, parseQuickConnect, parseQuirkCookie, parseScoreCookie, queryStringEvaluator, quirkEvaluator, serializeCookie, serializeCookieType, serializePersonalizeVariants, serializeQuickConnect, serializeQuirks };
|
package/dist/index.esm.js
CHANGED
@@ -653,9 +653,11 @@ function personalizeVariations({
|
|
653
653
|
try {
|
654
654
|
const variantMatches = [];
|
655
655
|
const defaultVariants = [];
|
656
|
+
const needsConsent = context.requireConsentForPersonalization;
|
657
|
+
const canEvaluate = !needsConsent || context.storage.data.consent;
|
656
658
|
for (const variant of variations) {
|
657
659
|
if ((_a = variant.pz) == null ? void 0 : _a.crit.length) {
|
658
|
-
if (variantMatches.length !== take && evaluateVariantMatch(variant.id, variant.pz, context.scores, onLogMessage)) {
|
660
|
+
if (canEvaluate && variantMatches.length !== take && evaluateVariantMatch(variant.id, variant.pz, context.scores, onLogMessage)) {
|
659
661
|
variantMatches.push(variant);
|
660
662
|
}
|
661
663
|
} else {
|
@@ -917,20 +919,28 @@ var bton = (base64) => {
|
|
917
919
|
// src/storage/CookieTransitionDataStore.ts
|
918
920
|
var ssr = typeof document === "undefined";
|
919
921
|
var UNIFORM_DEFAULT_COOKIE_NAME = "ufvd";
|
920
|
-
var
|
922
|
+
var UNIFORM_DEFAULT_QUIRK_COOKIE_NAME = `ufvdqk`;
|
923
|
+
var _cookieName, _quirkCookieName, _cookieAttributes, _quirksEnabled;
|
921
924
|
var CookieTransitionDataStore = class extends TransitionDataStore {
|
922
925
|
constructor({
|
923
926
|
serverCookieValue,
|
927
|
+
experimental_quirksEnabled,
|
928
|
+
quirkCookieValue,
|
929
|
+
quirkCookieName = UNIFORM_DEFAULT_QUIRK_COOKIE_NAME,
|
924
930
|
cookieName = UNIFORM_DEFAULT_COOKIE_NAME,
|
925
931
|
cookieAttributes = { sameSite: "lax" }
|
926
932
|
}) {
|
927
933
|
super({
|
928
|
-
initialData: ssr ? parseScoreCookie(serverCookieValue) : void 0
|
934
|
+
initialData: ssr ? parseScoreCookie(serverCookieValue, experimental_quirksEnabled ? quirkCookieValue : void 0) : void 0
|
929
935
|
});
|
930
936
|
__privateAdd(this, _cookieName);
|
937
|
+
__privateAdd(this, _quirkCookieName);
|
931
938
|
__privateAdd(this, _cookieAttributes);
|
939
|
+
__privateAdd(this, _quirksEnabled);
|
932
940
|
__privateSet(this, _cookieName, cookieName);
|
933
941
|
__privateSet(this, _cookieAttributes, cookieAttributes);
|
942
|
+
__privateSet(this, _quirkCookieName, quirkCookieName);
|
943
|
+
__privateSet(this, _quirksEnabled, experimental_quirksEnabled || false);
|
934
944
|
}
|
935
945
|
handleDelete() {
|
936
946
|
if (ssr) return Promise.resolve();
|
@@ -941,17 +951,27 @@ var CookieTransitionDataStore = class extends TransitionDataStore {
|
|
941
951
|
if (ssr) return;
|
942
952
|
if (computedValue.consent) {
|
943
953
|
Cookies.set(__privateGet(this, _cookieName), serializeCookie(computedValue), __privateGet(this, _cookieAttributes));
|
954
|
+
if (__privateGet(this, _quirksEnabled) && Object.keys(computedValue.quirks || {}).length) {
|
955
|
+
const quirkCookieValue = serializeQuirks(computedValue.quirks || {});
|
956
|
+
Cookies.set(__privateGet(this, _quirkCookieName), quirkCookieValue, __privateGet(this, _cookieAttributes));
|
957
|
+
}
|
944
958
|
} else {
|
945
959
|
Cookies.remove(__privateGet(this, _cookieName));
|
960
|
+
if (__privateGet(this, _quirksEnabled)) {
|
961
|
+
Cookies.remove(__privateGet(this, _quirkCookieName));
|
962
|
+
}
|
946
963
|
}
|
947
964
|
}
|
948
965
|
};
|
949
966
|
_cookieName = new WeakMap();
|
967
|
+
_quirkCookieName = new WeakMap();
|
950
968
|
_cookieAttributes = new WeakMap();
|
969
|
+
_quirksEnabled = new WeakMap();
|
951
970
|
var TYPE_SEP = "~";
|
952
971
|
var PAIR_SEP = "!";
|
953
972
|
var KV_SEP = "-";
|
954
|
-
|
973
|
+
var QUIRK_SEP = "!!";
|
974
|
+
function parseScoreCookie(cookieValue, quirkCookieValue) {
|
955
975
|
if (!cookieValue) return;
|
956
976
|
const types = cookieValue.split(TYPE_SEP);
|
957
977
|
if (types.length > 5) return;
|
@@ -965,8 +985,30 @@ function parseScoreCookie(cookieValue) {
|
|
965
985
|
controlGroup: controlGroup === "1",
|
966
986
|
personalizeVariants: decodePersonalizeVariants(personalizeVariants)
|
967
987
|
};
|
988
|
+
if (quirkCookieValue) {
|
989
|
+
data.quirks = parseQuirkCookie(quirkCookieValue);
|
990
|
+
}
|
968
991
|
return data;
|
969
992
|
}
|
993
|
+
function parseQuirkCookie(quirkCookieValue) {
|
994
|
+
const pairs = quirkCookieValue.split(QUIRK_SEP);
|
995
|
+
const splitPairs = pairs.map((pair) => {
|
996
|
+
const sep = pair.indexOf(KV_SEP);
|
997
|
+
if (sep === -1) {
|
998
|
+
return void 0;
|
999
|
+
}
|
1000
|
+
return [pair.slice(0, sep), pair.slice(sep + 1)];
|
1001
|
+
});
|
1002
|
+
const areAllPairsValid = splitPairs.every((pair) => pair !== void 0);
|
1003
|
+
if (!areAllPairsValid) {
|
1004
|
+
return {};
|
1005
|
+
}
|
1006
|
+
return splitPairs.reduce((acc, cur) => {
|
1007
|
+
const [key, value] = cur;
|
1008
|
+
acc[key] = value;
|
1009
|
+
return acc;
|
1010
|
+
}, {});
|
1011
|
+
}
|
970
1012
|
function parseCookieScores(type) {
|
971
1013
|
if (!type) {
|
972
1014
|
return {};
|
@@ -1051,6 +1093,9 @@ function encodeCookieType(type) {
|
|
1051
1093
|
function serializeCookieType(type) {
|
1052
1094
|
return Object.entries(type).map((kv) => kv.join(KV_SEP)).join(PAIR_SEP);
|
1053
1095
|
}
|
1096
|
+
function serializeQuirks(quirks) {
|
1097
|
+
return Object.entries(quirks).map((kv) => kv.join(KV_SEP)).join(QUIRK_SEP);
|
1098
|
+
}
|
1054
1099
|
|
1055
1100
|
// src/storage/EdgeTransitionDataStore.ts
|
1056
1101
|
var _EdgeTransitionDataStore_instances, fetchData_fn;
|
@@ -1213,7 +1258,8 @@ var LocalStorage = class {
|
|
1213
1258
|
this.partitionKey = partitionKey;
|
1214
1259
|
__privateAdd(this, _LocalStorage_instances);
|
1215
1260
|
__publicField(this, "inMemoryFallback", {});
|
1216
|
-
|
1261
|
+
// deno implements localStorage in netlify edge workers, must also check if document is present.
|
1262
|
+
__publicField(this, "hasLocalStorageObject", typeof document !== "undefined" && typeof localStorage !== "undefined");
|
1217
1263
|
}
|
1218
1264
|
get(key) {
|
1219
1265
|
const keyValue = __privateMethod(this, _LocalStorage_instances, key_fn).call(this, key);
|
@@ -1467,7 +1513,7 @@ import { dequal as dequal5 } from "dequal/lite";
|
|
1467
1513
|
import mitt3 from "mitt";
|
1468
1514
|
var CONTEXTUAL_EDITING_TEST_NAME = "contextual_editing_test";
|
1469
1515
|
var CONTEXTUAL_EDITING_TEST_SELECTED_VARIANT_ID = "contextual_editing_test_selected_variant";
|
1470
|
-
var _serverTransitionState, _scores, _state, _pzCache, _plugins, _commands, _mitt3, _Context_instances, emitTest_fn, updateGoals_fn, updateComputedScores_fn, calculateScores_fn;
|
1516
|
+
var _serverTransitionState, _scores, _state, _pzCache, _plugins, _commands, _requireConsentForPersonalization, _mitt3, _Context_instances, emitTest_fn, updateGoals_fn, updateComputedScores_fn, calculateScores_fn;
|
1471
1517
|
var Context = class {
|
1472
1518
|
constructor(options) {
|
1473
1519
|
__privateAdd(this, _Context_instances);
|
@@ -1478,6 +1524,7 @@ var Context = class {
|
|
1478
1524
|
__privateAdd(this, _pzCache, {});
|
1479
1525
|
__privateAdd(this, _plugins);
|
1480
1526
|
__privateAdd(this, _commands);
|
1527
|
+
__privateAdd(this, _requireConsentForPersonalization);
|
1481
1528
|
__privateAdd(this, _mitt3, mitt3());
|
1482
1529
|
/**
|
1483
1530
|
* Subscribe to events
|
@@ -1491,6 +1538,7 @@ var Context = class {
|
|
1491
1538
|
const { manifest, ...storageOptions } = options;
|
1492
1539
|
__privateSet(this, _state, {});
|
1493
1540
|
__privateSet(this, _plugins, options.plugins);
|
1541
|
+
__privateSet(this, _requireConsentForPersonalization, options.requireConsentForPersonalization);
|
1494
1542
|
if (typeof options.transitionStore !== "undefined") {
|
1495
1543
|
__privateSet(this, _commands, []);
|
1496
1544
|
}
|
@@ -1567,6 +1615,9 @@ var Context = class {
|
|
1567
1615
|
var _a, _b;
|
1568
1616
|
return (_b = (_a = __privateGet(this, _serverTransitionState)) == null ? void 0 : _a.quirks) != null ? _b : this.storage.data.quirks;
|
1569
1617
|
}
|
1618
|
+
get requireConsentForPersonalization() {
|
1619
|
+
return __privateGet(this, _requireConsentForPersonalization);
|
1620
|
+
}
|
1570
1621
|
/**
|
1571
1622
|
* Updates the Context with new data of any sort, such as
|
1572
1623
|
* new URLs, cookies, quirks, and enrichments.
|
@@ -1765,9 +1816,7 @@ var Context = class {
|
|
1765
1816
|
test(options) {
|
1766
1817
|
var _a, _b, _c;
|
1767
1818
|
if (options.name === CONTEXTUAL_EDITING_TEST_NAME) {
|
1768
|
-
const selectedVariant = (_a = options.variations.find((variant) =>
|
1769
|
-
variant.id === CONTEXTUAL_EDITING_TEST_SELECTED_VARIANT_ID;
|
1770
|
-
})) != null ? _a : options.variations.at(-1);
|
1819
|
+
const selectedVariant = (_a = options.variations.find((variant) => variant.id === CONTEXTUAL_EDITING_TEST_SELECTED_VARIANT_ID)) != null ? _a : options.variations.at(-1);
|
1771
1820
|
const value2 = {
|
1772
1821
|
result: selectedVariant,
|
1773
1822
|
variantAssigned: false
|
@@ -1868,6 +1917,7 @@ _state = new WeakMap();
|
|
1868
1917
|
_pzCache = new WeakMap();
|
1869
1918
|
_plugins = new WeakMap();
|
1870
1919
|
_commands = new WeakMap();
|
1920
|
+
_requireConsentForPersonalization = new WeakMap();
|
1871
1921
|
_mitt3 = new WeakMap();
|
1872
1922
|
_Context_instances = new WeakSet();
|
1873
1923
|
emitTest_fn = function(event) {
|
@@ -2550,11 +2600,13 @@ export {
|
|
2550
2600
|
KV_SEP,
|
2551
2601
|
ManifestInstance,
|
2552
2602
|
PAIR_SEP,
|
2603
|
+
QUIRK_SEP,
|
2553
2604
|
SERVER_STATE_ID,
|
2554
2605
|
ScriptType,
|
2555
2606
|
TYPE_SEP,
|
2556
2607
|
TransitionDataStore,
|
2557
2608
|
UNIFORM_DEFAULT_COOKIE_NAME,
|
2609
|
+
UNIFORM_DEFAULT_QUIRK_COOKIE_NAME,
|
2558
2610
|
VisitorDataStore,
|
2559
2611
|
areCommandsEqual,
|
2560
2612
|
computeAggregateDimensions,
|
@@ -2582,6 +2634,7 @@ export {
|
|
2582
2634
|
parseCookieScores,
|
2583
2635
|
parseCookieType,
|
2584
2636
|
parseQuickConnect,
|
2637
|
+
parseQuirkCookie,
|
2585
2638
|
parseScoreCookie,
|
2586
2639
|
personalizeVariations,
|
2587
2640
|
queryStringEvaluator,
|
@@ -2590,5 +2643,6 @@ export {
|
|
2590
2643
|
serializeCookieType,
|
2591
2644
|
serializePersonalizeVariants,
|
2592
2645
|
serializeQuickConnect,
|
2646
|
+
serializeQuirks,
|
2593
2647
|
testVariations
|
2594
2648
|
};
|
package/dist/index.js
CHANGED
@@ -50,11 +50,13 @@ __export(src_exports, {
|
|
50
50
|
KV_SEP: () => KV_SEP,
|
51
51
|
ManifestInstance: () => ManifestInstance,
|
52
52
|
PAIR_SEP: () => PAIR_SEP,
|
53
|
+
QUIRK_SEP: () => QUIRK_SEP,
|
53
54
|
SERVER_STATE_ID: () => SERVER_STATE_ID,
|
54
55
|
ScriptType: () => ScriptType,
|
55
56
|
TYPE_SEP: () => TYPE_SEP,
|
56
57
|
TransitionDataStore: () => TransitionDataStore,
|
57
58
|
UNIFORM_DEFAULT_COOKIE_NAME: () => UNIFORM_DEFAULT_COOKIE_NAME,
|
59
|
+
UNIFORM_DEFAULT_QUIRK_COOKIE_NAME: () => UNIFORM_DEFAULT_QUIRK_COOKIE_NAME,
|
58
60
|
VisitorDataStore: () => VisitorDataStore,
|
59
61
|
areCommandsEqual: () => areCommandsEqual,
|
60
62
|
computeAggregateDimensions: () => computeAggregateDimensions,
|
@@ -82,6 +84,7 @@ __export(src_exports, {
|
|
82
84
|
parseCookieScores: () => parseCookieScores,
|
83
85
|
parseCookieType: () => parseCookieType,
|
84
86
|
parseQuickConnect: () => parseQuickConnect,
|
87
|
+
parseQuirkCookie: () => parseQuirkCookie,
|
85
88
|
parseScoreCookie: () => parseScoreCookie,
|
86
89
|
personalizeVariations: () => personalizeVariations,
|
87
90
|
queryStringEvaluator: () => queryStringEvaluator,
|
@@ -90,6 +93,7 @@ __export(src_exports, {
|
|
90
93
|
serializeCookieType: () => serializeCookieType,
|
91
94
|
serializePersonalizeVariants: () => serializePersonalizeVariants,
|
92
95
|
serializeQuickConnect: () => serializeQuickConnect,
|
96
|
+
serializeQuirks: () => serializeQuirks,
|
93
97
|
testVariations: () => testVariations
|
94
98
|
});
|
95
99
|
module.exports = __toCommonJS(src_exports);
|
@@ -737,9 +741,11 @@ function personalizeVariations({
|
|
737
741
|
try {
|
738
742
|
const variantMatches = [];
|
739
743
|
const defaultVariants = [];
|
744
|
+
const needsConsent = context.requireConsentForPersonalization;
|
745
|
+
const canEvaluate = !needsConsent || context.storage.data.consent;
|
740
746
|
for (const variant of variations) {
|
741
747
|
if ((_a = variant.pz) == null ? void 0 : _a.crit.length) {
|
742
|
-
if (variantMatches.length !== take && evaluateVariantMatch(variant.id, variant.pz, context.scores, onLogMessage)) {
|
748
|
+
if (canEvaluate && variantMatches.length !== take && evaluateVariantMatch(variant.id, variant.pz, context.scores, onLogMessage)) {
|
743
749
|
variantMatches.push(variant);
|
744
750
|
}
|
745
751
|
} else {
|
@@ -1001,20 +1007,28 @@ var bton = (base64) => {
|
|
1001
1007
|
// src/storage/CookieTransitionDataStore.ts
|
1002
1008
|
var ssr = typeof document === "undefined";
|
1003
1009
|
var UNIFORM_DEFAULT_COOKIE_NAME = "ufvd";
|
1004
|
-
var
|
1010
|
+
var UNIFORM_DEFAULT_QUIRK_COOKIE_NAME = `ufvdqk`;
|
1011
|
+
var _cookieName, _quirkCookieName, _cookieAttributes, _quirksEnabled;
|
1005
1012
|
var CookieTransitionDataStore = class extends TransitionDataStore {
|
1006
1013
|
constructor({
|
1007
1014
|
serverCookieValue,
|
1015
|
+
experimental_quirksEnabled,
|
1016
|
+
quirkCookieValue,
|
1017
|
+
quirkCookieName = UNIFORM_DEFAULT_QUIRK_COOKIE_NAME,
|
1008
1018
|
cookieName = UNIFORM_DEFAULT_COOKIE_NAME,
|
1009
1019
|
cookieAttributes = { sameSite: "lax" }
|
1010
1020
|
}) {
|
1011
1021
|
super({
|
1012
|
-
initialData: ssr ? parseScoreCookie(serverCookieValue) : void 0
|
1022
|
+
initialData: ssr ? parseScoreCookie(serverCookieValue, experimental_quirksEnabled ? quirkCookieValue : void 0) : void 0
|
1013
1023
|
});
|
1014
1024
|
__privateAdd(this, _cookieName);
|
1025
|
+
__privateAdd(this, _quirkCookieName);
|
1015
1026
|
__privateAdd(this, _cookieAttributes);
|
1027
|
+
__privateAdd(this, _quirksEnabled);
|
1016
1028
|
__privateSet(this, _cookieName, cookieName);
|
1017
1029
|
__privateSet(this, _cookieAttributes, cookieAttributes);
|
1030
|
+
__privateSet(this, _quirkCookieName, quirkCookieName);
|
1031
|
+
__privateSet(this, _quirksEnabled, experimental_quirksEnabled || false);
|
1018
1032
|
}
|
1019
1033
|
handleDelete() {
|
1020
1034
|
if (ssr) return Promise.resolve();
|
@@ -1025,17 +1039,27 @@ var CookieTransitionDataStore = class extends TransitionDataStore {
|
|
1025
1039
|
if (ssr) return;
|
1026
1040
|
if (computedValue.consent) {
|
1027
1041
|
import_js_cookie.default.set(__privateGet(this, _cookieName), serializeCookie(computedValue), __privateGet(this, _cookieAttributes));
|
1042
|
+
if (__privateGet(this, _quirksEnabled) && Object.keys(computedValue.quirks || {}).length) {
|
1043
|
+
const quirkCookieValue = serializeQuirks(computedValue.quirks || {});
|
1044
|
+
import_js_cookie.default.set(__privateGet(this, _quirkCookieName), quirkCookieValue, __privateGet(this, _cookieAttributes));
|
1045
|
+
}
|
1028
1046
|
} else {
|
1029
1047
|
import_js_cookie.default.remove(__privateGet(this, _cookieName));
|
1048
|
+
if (__privateGet(this, _quirksEnabled)) {
|
1049
|
+
import_js_cookie.default.remove(__privateGet(this, _quirkCookieName));
|
1050
|
+
}
|
1030
1051
|
}
|
1031
1052
|
}
|
1032
1053
|
};
|
1033
1054
|
_cookieName = new WeakMap();
|
1055
|
+
_quirkCookieName = new WeakMap();
|
1034
1056
|
_cookieAttributes = new WeakMap();
|
1057
|
+
_quirksEnabled = new WeakMap();
|
1035
1058
|
var TYPE_SEP = "~";
|
1036
1059
|
var PAIR_SEP = "!";
|
1037
1060
|
var KV_SEP = "-";
|
1038
|
-
|
1061
|
+
var QUIRK_SEP = "!!";
|
1062
|
+
function parseScoreCookie(cookieValue, quirkCookieValue) {
|
1039
1063
|
if (!cookieValue) return;
|
1040
1064
|
const types = cookieValue.split(TYPE_SEP);
|
1041
1065
|
if (types.length > 5) return;
|
@@ -1049,8 +1073,30 @@ function parseScoreCookie(cookieValue) {
|
|
1049
1073
|
controlGroup: controlGroup === "1",
|
1050
1074
|
personalizeVariants: decodePersonalizeVariants(personalizeVariants)
|
1051
1075
|
};
|
1076
|
+
if (quirkCookieValue) {
|
1077
|
+
data.quirks = parseQuirkCookie(quirkCookieValue);
|
1078
|
+
}
|
1052
1079
|
return data;
|
1053
1080
|
}
|
1081
|
+
function parseQuirkCookie(quirkCookieValue) {
|
1082
|
+
const pairs = quirkCookieValue.split(QUIRK_SEP);
|
1083
|
+
const splitPairs = pairs.map((pair) => {
|
1084
|
+
const sep = pair.indexOf(KV_SEP);
|
1085
|
+
if (sep === -1) {
|
1086
|
+
return void 0;
|
1087
|
+
}
|
1088
|
+
return [pair.slice(0, sep), pair.slice(sep + 1)];
|
1089
|
+
});
|
1090
|
+
const areAllPairsValid = splitPairs.every((pair) => pair !== void 0);
|
1091
|
+
if (!areAllPairsValid) {
|
1092
|
+
return {};
|
1093
|
+
}
|
1094
|
+
return splitPairs.reduce((acc, cur) => {
|
1095
|
+
const [key, value] = cur;
|
1096
|
+
acc[key] = value;
|
1097
|
+
return acc;
|
1098
|
+
}, {});
|
1099
|
+
}
|
1054
1100
|
function parseCookieScores(type) {
|
1055
1101
|
if (!type) {
|
1056
1102
|
return {};
|
@@ -1135,6 +1181,9 @@ function encodeCookieType(type) {
|
|
1135
1181
|
function serializeCookieType(type) {
|
1136
1182
|
return Object.entries(type).map((kv) => kv.join(KV_SEP)).join(PAIR_SEP);
|
1137
1183
|
}
|
1184
|
+
function serializeQuirks(quirks) {
|
1185
|
+
return Object.entries(quirks).map((kv) => kv.join(KV_SEP)).join(QUIRK_SEP);
|
1186
|
+
}
|
1138
1187
|
|
1139
1188
|
// src/storage/EdgeTransitionDataStore.ts
|
1140
1189
|
var _EdgeTransitionDataStore_instances, fetchData_fn;
|
@@ -1297,7 +1346,8 @@ var LocalStorage = class {
|
|
1297
1346
|
this.partitionKey = partitionKey;
|
1298
1347
|
__privateAdd(this, _LocalStorage_instances);
|
1299
1348
|
__publicField(this, "inMemoryFallback", {});
|
1300
|
-
|
1349
|
+
// deno implements localStorage in netlify edge workers, must also check if document is present.
|
1350
|
+
__publicField(this, "hasLocalStorageObject", typeof document !== "undefined" && typeof localStorage !== "undefined");
|
1301
1351
|
}
|
1302
1352
|
get(key) {
|
1303
1353
|
const keyValue = __privateMethod(this, _LocalStorage_instances, key_fn).call(this, key);
|
@@ -1551,7 +1601,7 @@ var import_lite5 = require("dequal/lite");
|
|
1551
1601
|
var import_mitt3 = __toESM(require("mitt"));
|
1552
1602
|
var CONTEXTUAL_EDITING_TEST_NAME = "contextual_editing_test";
|
1553
1603
|
var CONTEXTUAL_EDITING_TEST_SELECTED_VARIANT_ID = "contextual_editing_test_selected_variant";
|
1554
|
-
var _serverTransitionState, _scores, _state, _pzCache, _plugins, _commands, _mitt3, _Context_instances, emitTest_fn, updateGoals_fn, updateComputedScores_fn, calculateScores_fn;
|
1604
|
+
var _serverTransitionState, _scores, _state, _pzCache, _plugins, _commands, _requireConsentForPersonalization, _mitt3, _Context_instances, emitTest_fn, updateGoals_fn, updateComputedScores_fn, calculateScores_fn;
|
1555
1605
|
var Context = class {
|
1556
1606
|
constructor(options) {
|
1557
1607
|
__privateAdd(this, _Context_instances);
|
@@ -1562,6 +1612,7 @@ var Context = class {
|
|
1562
1612
|
__privateAdd(this, _pzCache, {});
|
1563
1613
|
__privateAdd(this, _plugins);
|
1564
1614
|
__privateAdd(this, _commands);
|
1615
|
+
__privateAdd(this, _requireConsentForPersonalization);
|
1565
1616
|
__privateAdd(this, _mitt3, (0, import_mitt3.default)());
|
1566
1617
|
/**
|
1567
1618
|
* Subscribe to events
|
@@ -1575,6 +1626,7 @@ var Context = class {
|
|
1575
1626
|
const { manifest, ...storageOptions } = options;
|
1576
1627
|
__privateSet(this, _state, {});
|
1577
1628
|
__privateSet(this, _plugins, options.plugins);
|
1629
|
+
__privateSet(this, _requireConsentForPersonalization, options.requireConsentForPersonalization);
|
1578
1630
|
if (typeof options.transitionStore !== "undefined") {
|
1579
1631
|
__privateSet(this, _commands, []);
|
1580
1632
|
}
|
@@ -1651,6 +1703,9 @@ var Context = class {
|
|
1651
1703
|
var _a, _b;
|
1652
1704
|
return (_b = (_a = __privateGet(this, _serverTransitionState)) == null ? void 0 : _a.quirks) != null ? _b : this.storage.data.quirks;
|
1653
1705
|
}
|
1706
|
+
get requireConsentForPersonalization() {
|
1707
|
+
return __privateGet(this, _requireConsentForPersonalization);
|
1708
|
+
}
|
1654
1709
|
/**
|
1655
1710
|
* Updates the Context with new data of any sort, such as
|
1656
1711
|
* new URLs, cookies, quirks, and enrichments.
|
@@ -1849,9 +1904,7 @@ var Context = class {
|
|
1849
1904
|
test(options) {
|
1850
1905
|
var _a, _b, _c;
|
1851
1906
|
if (options.name === CONTEXTUAL_EDITING_TEST_NAME) {
|
1852
|
-
const selectedVariant = (_a = options.variations.find((variant) =>
|
1853
|
-
variant.id === CONTEXTUAL_EDITING_TEST_SELECTED_VARIANT_ID;
|
1854
|
-
})) != null ? _a : options.variations.at(-1);
|
1907
|
+
const selectedVariant = (_a = options.variations.find((variant) => variant.id === CONTEXTUAL_EDITING_TEST_SELECTED_VARIANT_ID)) != null ? _a : options.variations.at(-1);
|
1855
1908
|
const value2 = {
|
1856
1909
|
result: selectedVariant,
|
1857
1910
|
variantAssigned: false
|
@@ -1952,6 +2005,7 @@ _state = new WeakMap();
|
|
1952
2005
|
_pzCache = new WeakMap();
|
1953
2006
|
_plugins = new WeakMap();
|
1954
2007
|
_commands = new WeakMap();
|
2008
|
+
_requireConsentForPersonalization = new WeakMap();
|
1955
2009
|
_mitt3 = new WeakMap();
|
1956
2010
|
_Context_instances = new WeakSet();
|
1957
2011
|
emitTest_fn = function(event) {
|
@@ -2635,11 +2689,13 @@ function parseQuickConnect(serialized) {
|
|
2635
2689
|
KV_SEP,
|
2636
2690
|
ManifestInstance,
|
2637
2691
|
PAIR_SEP,
|
2692
|
+
QUIRK_SEP,
|
2638
2693
|
SERVER_STATE_ID,
|
2639
2694
|
ScriptType,
|
2640
2695
|
TYPE_SEP,
|
2641
2696
|
TransitionDataStore,
|
2642
2697
|
UNIFORM_DEFAULT_COOKIE_NAME,
|
2698
|
+
UNIFORM_DEFAULT_QUIRK_COOKIE_NAME,
|
2643
2699
|
VisitorDataStore,
|
2644
2700
|
areCommandsEqual,
|
2645
2701
|
computeAggregateDimensions,
|
@@ -2667,6 +2723,7 @@ function parseQuickConnect(serialized) {
|
|
2667
2723
|
parseCookieScores,
|
2668
2724
|
parseCookieType,
|
2669
2725
|
parseQuickConnect,
|
2726
|
+
parseQuirkCookie,
|
2670
2727
|
parseScoreCookie,
|
2671
2728
|
personalizeVariations,
|
2672
2729
|
queryStringEvaluator,
|
@@ -2675,5 +2732,6 @@ function parseQuickConnect(serialized) {
|
|
2675
2732
|
serializeCookieType,
|
2676
2733
|
serializePersonalizeVariants,
|
2677
2734
|
serializeQuickConnect,
|
2735
|
+
serializeQuirks,
|
2678
2736
|
testVariations
|
2679
2737
|
});
|
package/dist/index.mjs
CHANGED
@@ -653,9 +653,11 @@ function personalizeVariations({
|
|
653
653
|
try {
|
654
654
|
const variantMatches = [];
|
655
655
|
const defaultVariants = [];
|
656
|
+
const needsConsent = context.requireConsentForPersonalization;
|
657
|
+
const canEvaluate = !needsConsent || context.storage.data.consent;
|
656
658
|
for (const variant of variations) {
|
657
659
|
if ((_a = variant.pz) == null ? void 0 : _a.crit.length) {
|
658
|
-
if (variantMatches.length !== take && evaluateVariantMatch(variant.id, variant.pz, context.scores, onLogMessage)) {
|
660
|
+
if (canEvaluate && variantMatches.length !== take && evaluateVariantMatch(variant.id, variant.pz, context.scores, onLogMessage)) {
|
659
661
|
variantMatches.push(variant);
|
660
662
|
}
|
661
663
|
} else {
|
@@ -917,20 +919,28 @@ var bton = (base64) => {
|
|
917
919
|
// src/storage/CookieTransitionDataStore.ts
|
918
920
|
var ssr = typeof document === "undefined";
|
919
921
|
var UNIFORM_DEFAULT_COOKIE_NAME = "ufvd";
|
920
|
-
var
|
922
|
+
var UNIFORM_DEFAULT_QUIRK_COOKIE_NAME = `ufvdqk`;
|
923
|
+
var _cookieName, _quirkCookieName, _cookieAttributes, _quirksEnabled;
|
921
924
|
var CookieTransitionDataStore = class extends TransitionDataStore {
|
922
925
|
constructor({
|
923
926
|
serverCookieValue,
|
927
|
+
experimental_quirksEnabled,
|
928
|
+
quirkCookieValue,
|
929
|
+
quirkCookieName = UNIFORM_DEFAULT_QUIRK_COOKIE_NAME,
|
924
930
|
cookieName = UNIFORM_DEFAULT_COOKIE_NAME,
|
925
931
|
cookieAttributes = { sameSite: "lax" }
|
926
932
|
}) {
|
927
933
|
super({
|
928
|
-
initialData: ssr ? parseScoreCookie(serverCookieValue) : void 0
|
934
|
+
initialData: ssr ? parseScoreCookie(serverCookieValue, experimental_quirksEnabled ? quirkCookieValue : void 0) : void 0
|
929
935
|
});
|
930
936
|
__privateAdd(this, _cookieName);
|
937
|
+
__privateAdd(this, _quirkCookieName);
|
931
938
|
__privateAdd(this, _cookieAttributes);
|
939
|
+
__privateAdd(this, _quirksEnabled);
|
932
940
|
__privateSet(this, _cookieName, cookieName);
|
933
941
|
__privateSet(this, _cookieAttributes, cookieAttributes);
|
942
|
+
__privateSet(this, _quirkCookieName, quirkCookieName);
|
943
|
+
__privateSet(this, _quirksEnabled, experimental_quirksEnabled || false);
|
934
944
|
}
|
935
945
|
handleDelete() {
|
936
946
|
if (ssr) return Promise.resolve();
|
@@ -941,17 +951,27 @@ var CookieTransitionDataStore = class extends TransitionDataStore {
|
|
941
951
|
if (ssr) return;
|
942
952
|
if (computedValue.consent) {
|
943
953
|
Cookies.set(__privateGet(this, _cookieName), serializeCookie(computedValue), __privateGet(this, _cookieAttributes));
|
954
|
+
if (__privateGet(this, _quirksEnabled) && Object.keys(computedValue.quirks || {}).length) {
|
955
|
+
const quirkCookieValue = serializeQuirks(computedValue.quirks || {});
|
956
|
+
Cookies.set(__privateGet(this, _quirkCookieName), quirkCookieValue, __privateGet(this, _cookieAttributes));
|
957
|
+
}
|
944
958
|
} else {
|
945
959
|
Cookies.remove(__privateGet(this, _cookieName));
|
960
|
+
if (__privateGet(this, _quirksEnabled)) {
|
961
|
+
Cookies.remove(__privateGet(this, _quirkCookieName));
|
962
|
+
}
|
946
963
|
}
|
947
964
|
}
|
948
965
|
};
|
949
966
|
_cookieName = new WeakMap();
|
967
|
+
_quirkCookieName = new WeakMap();
|
950
968
|
_cookieAttributes = new WeakMap();
|
969
|
+
_quirksEnabled = new WeakMap();
|
951
970
|
var TYPE_SEP = "~";
|
952
971
|
var PAIR_SEP = "!";
|
953
972
|
var KV_SEP = "-";
|
954
|
-
|
973
|
+
var QUIRK_SEP = "!!";
|
974
|
+
function parseScoreCookie(cookieValue, quirkCookieValue) {
|
955
975
|
if (!cookieValue) return;
|
956
976
|
const types = cookieValue.split(TYPE_SEP);
|
957
977
|
if (types.length > 5) return;
|
@@ -965,8 +985,30 @@ function parseScoreCookie(cookieValue) {
|
|
965
985
|
controlGroup: controlGroup === "1",
|
966
986
|
personalizeVariants: decodePersonalizeVariants(personalizeVariants)
|
967
987
|
};
|
988
|
+
if (quirkCookieValue) {
|
989
|
+
data.quirks = parseQuirkCookie(quirkCookieValue);
|
990
|
+
}
|
968
991
|
return data;
|
969
992
|
}
|
993
|
+
function parseQuirkCookie(quirkCookieValue) {
|
994
|
+
const pairs = quirkCookieValue.split(QUIRK_SEP);
|
995
|
+
const splitPairs = pairs.map((pair) => {
|
996
|
+
const sep = pair.indexOf(KV_SEP);
|
997
|
+
if (sep === -1) {
|
998
|
+
return void 0;
|
999
|
+
}
|
1000
|
+
return [pair.slice(0, sep), pair.slice(sep + 1)];
|
1001
|
+
});
|
1002
|
+
const areAllPairsValid = splitPairs.every((pair) => pair !== void 0);
|
1003
|
+
if (!areAllPairsValid) {
|
1004
|
+
return {};
|
1005
|
+
}
|
1006
|
+
return splitPairs.reduce((acc, cur) => {
|
1007
|
+
const [key, value] = cur;
|
1008
|
+
acc[key] = value;
|
1009
|
+
return acc;
|
1010
|
+
}, {});
|
1011
|
+
}
|
970
1012
|
function parseCookieScores(type) {
|
971
1013
|
if (!type) {
|
972
1014
|
return {};
|
@@ -1051,6 +1093,9 @@ function encodeCookieType(type) {
|
|
1051
1093
|
function serializeCookieType(type) {
|
1052
1094
|
return Object.entries(type).map((kv) => kv.join(KV_SEP)).join(PAIR_SEP);
|
1053
1095
|
}
|
1096
|
+
function serializeQuirks(quirks) {
|
1097
|
+
return Object.entries(quirks).map((kv) => kv.join(KV_SEP)).join(QUIRK_SEP);
|
1098
|
+
}
|
1054
1099
|
|
1055
1100
|
// src/storage/EdgeTransitionDataStore.ts
|
1056
1101
|
var _EdgeTransitionDataStore_instances, fetchData_fn;
|
@@ -1213,7 +1258,8 @@ var LocalStorage = class {
|
|
1213
1258
|
this.partitionKey = partitionKey;
|
1214
1259
|
__privateAdd(this, _LocalStorage_instances);
|
1215
1260
|
__publicField(this, "inMemoryFallback", {});
|
1216
|
-
|
1261
|
+
// deno implements localStorage in netlify edge workers, must also check if document is present.
|
1262
|
+
__publicField(this, "hasLocalStorageObject", typeof document !== "undefined" && typeof localStorage !== "undefined");
|
1217
1263
|
}
|
1218
1264
|
get(key) {
|
1219
1265
|
const keyValue = __privateMethod(this, _LocalStorage_instances, key_fn).call(this, key);
|
@@ -1467,7 +1513,7 @@ import { dequal as dequal5 } from "dequal/lite";
|
|
1467
1513
|
import mitt3 from "mitt";
|
1468
1514
|
var CONTEXTUAL_EDITING_TEST_NAME = "contextual_editing_test";
|
1469
1515
|
var CONTEXTUAL_EDITING_TEST_SELECTED_VARIANT_ID = "contextual_editing_test_selected_variant";
|
1470
|
-
var _serverTransitionState, _scores, _state, _pzCache, _plugins, _commands, _mitt3, _Context_instances, emitTest_fn, updateGoals_fn, updateComputedScores_fn, calculateScores_fn;
|
1516
|
+
var _serverTransitionState, _scores, _state, _pzCache, _plugins, _commands, _requireConsentForPersonalization, _mitt3, _Context_instances, emitTest_fn, updateGoals_fn, updateComputedScores_fn, calculateScores_fn;
|
1471
1517
|
var Context = class {
|
1472
1518
|
constructor(options) {
|
1473
1519
|
__privateAdd(this, _Context_instances);
|
@@ -1478,6 +1524,7 @@ var Context = class {
|
|
1478
1524
|
__privateAdd(this, _pzCache, {});
|
1479
1525
|
__privateAdd(this, _plugins);
|
1480
1526
|
__privateAdd(this, _commands);
|
1527
|
+
__privateAdd(this, _requireConsentForPersonalization);
|
1481
1528
|
__privateAdd(this, _mitt3, mitt3());
|
1482
1529
|
/**
|
1483
1530
|
* Subscribe to events
|
@@ -1491,6 +1538,7 @@ var Context = class {
|
|
1491
1538
|
const { manifest, ...storageOptions } = options;
|
1492
1539
|
__privateSet(this, _state, {});
|
1493
1540
|
__privateSet(this, _plugins, options.plugins);
|
1541
|
+
__privateSet(this, _requireConsentForPersonalization, options.requireConsentForPersonalization);
|
1494
1542
|
if (typeof options.transitionStore !== "undefined") {
|
1495
1543
|
__privateSet(this, _commands, []);
|
1496
1544
|
}
|
@@ -1567,6 +1615,9 @@ var Context = class {
|
|
1567
1615
|
var _a, _b;
|
1568
1616
|
return (_b = (_a = __privateGet(this, _serverTransitionState)) == null ? void 0 : _a.quirks) != null ? _b : this.storage.data.quirks;
|
1569
1617
|
}
|
1618
|
+
get requireConsentForPersonalization() {
|
1619
|
+
return __privateGet(this, _requireConsentForPersonalization);
|
1620
|
+
}
|
1570
1621
|
/**
|
1571
1622
|
* Updates the Context with new data of any sort, such as
|
1572
1623
|
* new URLs, cookies, quirks, and enrichments.
|
@@ -1765,9 +1816,7 @@ var Context = class {
|
|
1765
1816
|
test(options) {
|
1766
1817
|
var _a, _b, _c;
|
1767
1818
|
if (options.name === CONTEXTUAL_EDITING_TEST_NAME) {
|
1768
|
-
const selectedVariant = (_a = options.variations.find((variant) =>
|
1769
|
-
variant.id === CONTEXTUAL_EDITING_TEST_SELECTED_VARIANT_ID;
|
1770
|
-
})) != null ? _a : options.variations.at(-1);
|
1819
|
+
const selectedVariant = (_a = options.variations.find((variant) => variant.id === CONTEXTUAL_EDITING_TEST_SELECTED_VARIANT_ID)) != null ? _a : options.variations.at(-1);
|
1771
1820
|
const value2 = {
|
1772
1821
|
result: selectedVariant,
|
1773
1822
|
variantAssigned: false
|
@@ -1868,6 +1917,7 @@ _state = new WeakMap();
|
|
1868
1917
|
_pzCache = new WeakMap();
|
1869
1918
|
_plugins = new WeakMap();
|
1870
1919
|
_commands = new WeakMap();
|
1920
|
+
_requireConsentForPersonalization = new WeakMap();
|
1871
1921
|
_mitt3 = new WeakMap();
|
1872
1922
|
_Context_instances = new WeakSet();
|
1873
1923
|
emitTest_fn = function(event) {
|
@@ -2550,11 +2600,13 @@ export {
|
|
2550
2600
|
KV_SEP,
|
2551
2601
|
ManifestInstance,
|
2552
2602
|
PAIR_SEP,
|
2603
|
+
QUIRK_SEP,
|
2553
2604
|
SERVER_STATE_ID,
|
2554
2605
|
ScriptType,
|
2555
2606
|
TYPE_SEP,
|
2556
2607
|
TransitionDataStore,
|
2557
2608
|
UNIFORM_DEFAULT_COOKIE_NAME,
|
2609
|
+
UNIFORM_DEFAULT_QUIRK_COOKIE_NAME,
|
2558
2610
|
VisitorDataStore,
|
2559
2611
|
areCommandsEqual,
|
2560
2612
|
computeAggregateDimensions,
|
@@ -2582,6 +2634,7 @@ export {
|
|
2582
2634
|
parseCookieScores,
|
2583
2635
|
parseCookieType,
|
2584
2636
|
parseQuickConnect,
|
2637
|
+
parseQuirkCookie,
|
2585
2638
|
parseScoreCookie,
|
2586
2639
|
personalizeVariations,
|
2587
2640
|
queryStringEvaluator,
|
@@ -2590,5 +2643,6 @@ export {
|
|
2590
2643
|
serializeCookieType,
|
2591
2644
|
serializePersonalizeVariants,
|
2592
2645
|
serializeQuickConnect,
|
2646
|
+
serializeQuirks,
|
2593
2647
|
testVariations
|
2594
2648
|
};
|
@@ -80,7 +80,7 @@ declare const emptyVisitorData: () => VisitorData;
|
|
80
80
|
* Expresses a 'patch' to the Uniform Context state
|
81
81
|
*/
|
82
82
|
type ContextState = {
|
83
|
-
cookies: Record<string, string>;
|
83
|
+
cookies: Record<string, string | undefined>;
|
84
84
|
url?: URL;
|
85
85
|
quirks: Quirks;
|
86
86
|
enrichments: EnrichmentData[];
|
@@ -1040,6 +1040,12 @@ type ContextOptions = {
|
|
1040
1040
|
* only - don't call scores, update, etc on it. If you need to call these methods immediately, attach your plugin after initialisation.
|
1041
1041
|
*/
|
1042
1042
|
plugins?: Array<ContextPlugin>;
|
1043
|
+
/**
|
1044
|
+
* Only show personalizations if the visitor has given consent.
|
1045
|
+
* `false (default)`: personalization can run in memory without visitor granting storage consent
|
1046
|
+
* `true`: personalization is not run at all unless storage consent is given
|
1047
|
+
*/
|
1048
|
+
requireConsentForPersonalization?: boolean;
|
1043
1049
|
} & Omit<VisitorDataStoreOptions, 'manifest' | 'onServerTransitionScoresReceived'>;
|
1044
1050
|
/** Emitted when a personalization runs */
|
1045
1051
|
type PersonalizationEvent = {
|
@@ -1124,6 +1130,7 @@ declare class Context implements ContextInstance {
|
|
1124
1130
|
get scores(): Readonly<ScoreVector>;
|
1125
1131
|
/** Gets the current visitor's quirks values. */
|
1126
1132
|
get quirks(): Readonly<Quirks>;
|
1133
|
+
get requireConsentForPersonalization(): boolean | undefined;
|
1127
1134
|
/**
|
1128
1135
|
* Subscribe to events
|
1129
1136
|
*/
|
@@ -1252,4 +1259,4 @@ declare global {
|
|
1252
1259
|
}
|
1253
1260
|
}
|
1254
1261
|
|
1255
|
-
export { type
|
1262
|
+
export { type AggregateDimensionInput as $, type AggregateDimension as A, type MessageFunc as B, type ContextPlugin as C, type DecayFunction as D, type LogMessageSingle as E, type LogMessageGroup as F, ManifestInstance as G, GroupCriteriaEvaluator as H, type CriteriaEvaluatorResult as I, type CriteriaEvaluatorParameters as J, type SignalData as K, type LogDrain as L, type MessageCategory as M, type ManifestV2 as N, type OutputSeverity as O, type PersonalizationEvent as P, type Quirks as Q, type PersonalizationManifest as R, type ScoreVector as S, TransitionDataStore as T, type Signal as U, type VisitorData as V, type SignalCriteriaGroup as W, type SignalCriteria as X, type EnrichmentCategory as Y, type NumberMatch as Z, type TestDefinition as _, type StorageCommands as a, type TestOptions as a0, testVariations as a1, type DimensionMatch as a2, type PersonalizeOptions as a3, personalizeVariations as a4, type BehaviorTag as a5, type PersonalizedVariant as a6, type PersonalizedResult as a7, type TestVariant as a8, type TestResult as a9, type ContextStateUpdate as aA, type GoalStateUpdate as aB, type paths as aC, type StorageCommand as aa, type SetGoalCommand as ab, type ModifyScoreCommand as ac, type ModifySessionScoreCommand as ad, type SetConsentCommand as ae, type SetQuirkCommand as af, type SetTestCommand as ag, type IdentifyCommand as ah, type SetControlGroupCommand as ai, type SetPersonalizeVariantControlCommand as aj, areCommandsEqual as ak, type ServerToClientTransitionState as al, SERVER_STATE_ID as am, type TransitionDataStoreEvents as an, type DecayOptions as ao, type VisitorDataStoreOptions as ap, type VisitorDataStoreEvents as aq, VisitorDataStore as ar, type Tests as as, type Goals as at, type EnrichmentData as au, type PersonalizeControlVariant as av, type PersonalizeVariants as aw, type EventData as ax, emptyVisitorData as ay, type ContextState as az, type TransitionDataStoreOptions as b, type CriteriaEvaluator as c, type StringMatch as d, type VariantMatchCriteria as e, type LogMessage as f, type DevToolsEvents as g, CONTEXTUAL_EDITING_TEST_NAME as h, CONTEXTUAL_EDITING_TEST_SELECTED_VARIANT_ID as i, type ContextOptions as j, type TestEvent as k, type ContextEvents as l, type ContextInstance as m, Context as n, type DevToolsUiVersion as o, type DevToolsState as p, type DevToolsActions as q, type DevToolsEvent as r, type DevToolsLogEvent as s, type DevToolsDataEvent as t, type DevToolsHelloEvent as u, type DevToolsUpdateEvent as v, type DevToolsRawCommandsEvent as w, type DevToolsForgetEvent as x, type LogMessages as y, type Severity as z };
|
@@ -80,7 +80,7 @@ declare const emptyVisitorData: () => VisitorData;
|
|
80
80
|
* Expresses a 'patch' to the Uniform Context state
|
81
81
|
*/
|
82
82
|
type ContextState = {
|
83
|
-
cookies: Record<string, string>;
|
83
|
+
cookies: Record<string, string | undefined>;
|
84
84
|
url?: URL;
|
85
85
|
quirks: Quirks;
|
86
86
|
enrichments: EnrichmentData[];
|
@@ -1040,6 +1040,12 @@ type ContextOptions = {
|
|
1040
1040
|
* only - don't call scores, update, etc on it. If you need to call these methods immediately, attach your plugin after initialisation.
|
1041
1041
|
*/
|
1042
1042
|
plugins?: Array<ContextPlugin>;
|
1043
|
+
/**
|
1044
|
+
* Only show personalizations if the visitor has given consent.
|
1045
|
+
* `false (default)`: personalization can run in memory without visitor granting storage consent
|
1046
|
+
* `true`: personalization is not run at all unless storage consent is given
|
1047
|
+
*/
|
1048
|
+
requireConsentForPersonalization?: boolean;
|
1043
1049
|
} & Omit<VisitorDataStoreOptions, 'manifest' | 'onServerTransitionScoresReceived'>;
|
1044
1050
|
/** Emitted when a personalization runs */
|
1045
1051
|
type PersonalizationEvent = {
|
@@ -1124,6 +1130,7 @@ declare class Context implements ContextInstance {
|
|
1124
1130
|
get scores(): Readonly<ScoreVector>;
|
1125
1131
|
/** Gets the current visitor's quirks values. */
|
1126
1132
|
get quirks(): Readonly<Quirks>;
|
1133
|
+
get requireConsentForPersonalization(): boolean | undefined;
|
1127
1134
|
/**
|
1128
1135
|
* Subscribe to events
|
1129
1136
|
*/
|
@@ -1252,4 +1259,4 @@ declare global {
|
|
1252
1259
|
}
|
1253
1260
|
}
|
1254
1261
|
|
1255
|
-
export { type
|
1262
|
+
export { type AggregateDimensionInput as $, type AggregateDimension as A, type MessageFunc as B, type ContextPlugin as C, type DecayFunction as D, type LogMessageSingle as E, type LogMessageGroup as F, ManifestInstance as G, GroupCriteriaEvaluator as H, type CriteriaEvaluatorResult as I, type CriteriaEvaluatorParameters as J, type SignalData as K, type LogDrain as L, type MessageCategory as M, type ManifestV2 as N, type OutputSeverity as O, type PersonalizationEvent as P, type Quirks as Q, type PersonalizationManifest as R, type ScoreVector as S, TransitionDataStore as T, type Signal as U, type VisitorData as V, type SignalCriteriaGroup as W, type SignalCriteria as X, type EnrichmentCategory as Y, type NumberMatch as Z, type TestDefinition as _, type StorageCommands as a, type TestOptions as a0, testVariations as a1, type DimensionMatch as a2, type PersonalizeOptions as a3, personalizeVariations as a4, type BehaviorTag as a5, type PersonalizedVariant as a6, type PersonalizedResult as a7, type TestVariant as a8, type TestResult as a9, type ContextStateUpdate as aA, type GoalStateUpdate as aB, type paths as aC, type StorageCommand as aa, type SetGoalCommand as ab, type ModifyScoreCommand as ac, type ModifySessionScoreCommand as ad, type SetConsentCommand as ae, type SetQuirkCommand as af, type SetTestCommand as ag, type IdentifyCommand as ah, type SetControlGroupCommand as ai, type SetPersonalizeVariantControlCommand as aj, areCommandsEqual as ak, type ServerToClientTransitionState as al, SERVER_STATE_ID as am, type TransitionDataStoreEvents as an, type DecayOptions as ao, type VisitorDataStoreOptions as ap, type VisitorDataStoreEvents as aq, VisitorDataStore as ar, type Tests as as, type Goals as at, type EnrichmentData as au, type PersonalizeControlVariant as av, type PersonalizeVariants as aw, type EventData as ax, emptyVisitorData as ay, type ContextState as az, type TransitionDataStoreOptions as b, type CriteriaEvaluator as c, type StringMatch as d, type VariantMatchCriteria as e, type LogMessage as f, type DevToolsEvents as g, CONTEXTUAL_EDITING_TEST_NAME as h, CONTEXTUAL_EDITING_TEST_SELECTED_VARIANT_ID as i, type ContextOptions as j, type TestEvent as k, type ContextEvents as l, type ContextInstance as m, Context as n, type DevToolsUiVersion as o, type DevToolsState as p, type DevToolsActions as q, type DevToolsEvent as r, type DevToolsLogEvent as s, type DevToolsDataEvent as t, type DevToolsHelloEvent as u, type DevToolsUpdateEvent as v, type DevToolsRawCommandsEvent as w, type DevToolsForgetEvent as x, type LogMessages as y, type Severity as z };
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@uniformdev/context",
|
3
|
-
"version": "19.
|
3
|
+
"version": "19.202.1-alpha.9+63c059770a",
|
4
4
|
"description": "Uniform Context core package",
|
5
5
|
"license": "SEE LICENSE IN LICENSE.txt",
|
6
6
|
"main": "./dist/index.js",
|
@@ -59,7 +59,7 @@
|
|
59
59
|
"js-cookie": "3.0.5",
|
60
60
|
"mitt": "^3.0.1",
|
61
61
|
"p-limit": "^3.1.0",
|
62
|
-
"rfdc": "^1.
|
62
|
+
"rfdc": "^1.4.1",
|
63
63
|
"uuid": "9.0.1"
|
64
64
|
},
|
65
65
|
"files": [
|
@@ -68,5 +68,5 @@
|
|
68
68
|
"publishConfig": {
|
69
69
|
"access": "public"
|
70
70
|
},
|
71
|
-
"gitHead": "
|
71
|
+
"gitHead": "63c059770a54fc063a12af0f74eba059143e8074"
|
72
72
|
}
|