@uniformdev/context 20.20.3 → 20.22.1-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +9 -3
- package/dist/index.d.ts +9 -3
- package/dist/index.esm.js +18 -7
- package/dist/index.js +18 -7
- package/dist/index.mjs +18 -7
- package/package.json +2 -2
package/dist/index.d.mts
CHANGED
@@ -56,6 +56,12 @@ type CookieTransitionDataStoreOptions = {
|
|
56
56
|
* local storage is the master copy. Defaults to SameSite=Lax.
|
57
57
|
*/
|
58
58
|
cookieAttributes?: Cookies.CookieAttributes;
|
59
|
+
/**
|
60
|
+
* Whether to omit dimensions with a score of zero from the transition store state.
|
61
|
+
* When enabled, dimensions with an explicit score of zero will not be included in the cookie.
|
62
|
+
* Defaults to false.
|
63
|
+
*/
|
64
|
+
omitZeroScores?: boolean;
|
59
65
|
};
|
60
66
|
declare const UNIFORM_DEFAULT_COOKIE_NAME = "ufvd";
|
61
67
|
declare const UNIFORM_DEFAULT_QUIRK_COOKIE_NAME = "ufvdqk";
|
@@ -65,7 +71,7 @@ declare const UNIFORM_DEFAULT_QUIRK_COOKIE_NAME = "ufvdqk";
|
|
65
71
|
*/
|
66
72
|
declare class CookieTransitionDataStore extends TransitionDataStore {
|
67
73
|
#private;
|
68
|
-
constructor({ serverCookieValue, experimental_quirksEnabled, quirkCookieValue, quirkCookieName, cookieName, cookieAttributes, }: CookieTransitionDataStoreOptions);
|
74
|
+
constructor({ serverCookieValue, experimental_quirksEnabled, quirkCookieValue, quirkCookieName, cookieName, cookieAttributes, omitZeroScores, }: CookieTransitionDataStoreOptions);
|
69
75
|
handleDelete(): Promise<void>;
|
70
76
|
handleUpdateData(_: StorageCommands[], computedValue: VisitorData): Promise<void>;
|
71
77
|
}
|
@@ -78,10 +84,10 @@ declare function parseQuirkCookie(quirkCookieValue: string): Quirks;
|
|
78
84
|
declare function parseCookieScores(type: string | undefined): Record<string, string>;
|
79
85
|
declare function parseCookieType(type: string | undefined): Record<string, string>;
|
80
86
|
declare function decodeCookieType(type: Record<string, string>): Record<string, number>;
|
81
|
-
declare function serializeCookie(data: VisitorData): string;
|
87
|
+
declare function serializeCookie(data: VisitorData, omitZeroScores?: boolean): string;
|
82
88
|
declare function serializePersonalizeVariants({ personalizeVariants, }: Pick<VisitorData, 'personalizeVariants'>): string;
|
83
89
|
declare function decodePersonalizeVariants(data: string | undefined): VisitorData['personalizeVariants'];
|
84
|
-
declare function encodeCookieType(type: Record<string, number
|
90
|
+
declare function encodeCookieType(type: Record<string, number>, omitZeroScores?: boolean): Record<string, string>;
|
85
91
|
declare function serializeCookieType(type: Record<string, string>): string;
|
86
92
|
declare function serializeQuirks(quirks: Quirks): string;
|
87
93
|
|
package/dist/index.d.ts
CHANGED
@@ -56,6 +56,12 @@ type CookieTransitionDataStoreOptions = {
|
|
56
56
|
* local storage is the master copy. Defaults to SameSite=Lax.
|
57
57
|
*/
|
58
58
|
cookieAttributes?: Cookies.CookieAttributes;
|
59
|
+
/**
|
60
|
+
* Whether to omit dimensions with a score of zero from the transition store state.
|
61
|
+
* When enabled, dimensions with an explicit score of zero will not be included in the cookie.
|
62
|
+
* Defaults to false.
|
63
|
+
*/
|
64
|
+
omitZeroScores?: boolean;
|
59
65
|
};
|
60
66
|
declare const UNIFORM_DEFAULT_COOKIE_NAME = "ufvd";
|
61
67
|
declare const UNIFORM_DEFAULT_QUIRK_COOKIE_NAME = "ufvdqk";
|
@@ -65,7 +71,7 @@ declare const UNIFORM_DEFAULT_QUIRK_COOKIE_NAME = "ufvdqk";
|
|
65
71
|
*/
|
66
72
|
declare class CookieTransitionDataStore extends TransitionDataStore {
|
67
73
|
#private;
|
68
|
-
constructor({ serverCookieValue, experimental_quirksEnabled, quirkCookieValue, quirkCookieName, cookieName, cookieAttributes, }: CookieTransitionDataStoreOptions);
|
74
|
+
constructor({ serverCookieValue, experimental_quirksEnabled, quirkCookieValue, quirkCookieName, cookieName, cookieAttributes, omitZeroScores, }: CookieTransitionDataStoreOptions);
|
69
75
|
handleDelete(): Promise<void>;
|
70
76
|
handleUpdateData(_: StorageCommands[], computedValue: VisitorData): Promise<void>;
|
71
77
|
}
|
@@ -78,10 +84,10 @@ declare function parseQuirkCookie(quirkCookieValue: string): Quirks;
|
|
78
84
|
declare function parseCookieScores(type: string | undefined): Record<string, string>;
|
79
85
|
declare function parseCookieType(type: string | undefined): Record<string, string>;
|
80
86
|
declare function decodeCookieType(type: Record<string, string>): Record<string, number>;
|
81
|
-
declare function serializeCookie(data: VisitorData): string;
|
87
|
+
declare function serializeCookie(data: VisitorData, omitZeroScores?: boolean): string;
|
82
88
|
declare function serializePersonalizeVariants({ personalizeVariants, }: Pick<VisitorData, 'personalizeVariants'>): string;
|
83
89
|
declare function decodePersonalizeVariants(data: string | undefined): VisitorData['personalizeVariants'];
|
84
|
-
declare function encodeCookieType(type: Record<string, number
|
90
|
+
declare function encodeCookieType(type: Record<string, number>, omitZeroScores?: boolean): Record<string, string>;
|
85
91
|
declare function serializeCookieType(type: Record<string, string>): string;
|
86
92
|
declare function serializeQuirks(quirks: Quirks): string;
|
87
93
|
|
package/dist/index.esm.js
CHANGED
@@ -1072,7 +1072,7 @@ var bton = (base64) => {
|
|
1072
1072
|
var ssr = typeof document === "undefined";
|
1073
1073
|
var UNIFORM_DEFAULT_COOKIE_NAME = "ufvd";
|
1074
1074
|
var UNIFORM_DEFAULT_QUIRK_COOKIE_NAME = `ufvdqk`;
|
1075
|
-
var _cookieName, _quirkCookieName, _cookieAttributes, _quirksEnabled;
|
1075
|
+
var _cookieName, _quirkCookieName, _cookieAttributes, _quirksEnabled, _omitZeroScores;
|
1076
1076
|
var CookieTransitionDataStore = class extends TransitionDataStore {
|
1077
1077
|
constructor({
|
1078
1078
|
serverCookieValue,
|
@@ -1080,7 +1080,8 @@ var CookieTransitionDataStore = class extends TransitionDataStore {
|
|
1080
1080
|
quirkCookieValue,
|
1081
1081
|
quirkCookieName = UNIFORM_DEFAULT_QUIRK_COOKIE_NAME,
|
1082
1082
|
cookieName = UNIFORM_DEFAULT_COOKIE_NAME,
|
1083
|
-
cookieAttributes = { sameSite: "lax" }
|
1083
|
+
cookieAttributes = { sameSite: "lax" },
|
1084
|
+
omitZeroScores = false
|
1084
1085
|
}) {
|
1085
1086
|
super({
|
1086
1087
|
initialData: ssr ? parseScoreCookie(serverCookieValue, experimental_quirksEnabled ? quirkCookieValue : void 0) : void 0
|
@@ -1089,10 +1090,12 @@ var CookieTransitionDataStore = class extends TransitionDataStore {
|
|
1089
1090
|
__privateAdd(this, _quirkCookieName);
|
1090
1091
|
__privateAdd(this, _cookieAttributes);
|
1091
1092
|
__privateAdd(this, _quirksEnabled);
|
1093
|
+
__privateAdd(this, _omitZeroScores);
|
1092
1094
|
__privateSet(this, _cookieName, cookieName);
|
1093
1095
|
__privateSet(this, _cookieAttributes, cookieAttributes);
|
1094
1096
|
__privateSet(this, _quirkCookieName, quirkCookieName);
|
1095
1097
|
__privateSet(this, _quirksEnabled, experimental_quirksEnabled || false);
|
1098
|
+
__privateSet(this, _omitZeroScores, omitZeroScores);
|
1096
1099
|
}
|
1097
1100
|
handleDelete() {
|
1098
1101
|
if (ssr) return Promise.resolve();
|
@@ -1102,7 +1105,11 @@ var CookieTransitionDataStore = class extends TransitionDataStore {
|
|
1102
1105
|
async handleUpdateData(_, computedValue) {
|
1103
1106
|
if (ssr) return;
|
1104
1107
|
if (computedValue.consent) {
|
1105
|
-
Cookies.set(
|
1108
|
+
Cookies.set(
|
1109
|
+
__privateGet(this, _cookieName),
|
1110
|
+
serializeCookie(computedValue, __privateGet(this, _omitZeroScores)),
|
1111
|
+
__privateGet(this, _cookieAttributes)
|
1112
|
+
);
|
1106
1113
|
if (__privateGet(this, _quirksEnabled) && Object.keys(computedValue.quirks || {}).length) {
|
1107
1114
|
const quirkCookieValue = serializeQuirks(computedValue.quirks || {});
|
1108
1115
|
Cookies.set(__privateGet(this, _quirkCookieName), quirkCookieValue, __privateGet(this, _cookieAttributes));
|
@@ -1119,6 +1126,7 @@ _cookieName = new WeakMap();
|
|
1119
1126
|
_quirkCookieName = new WeakMap();
|
1120
1127
|
_cookieAttributes = new WeakMap();
|
1121
1128
|
_quirksEnabled = new WeakMap();
|
1129
|
+
_omitZeroScores = new WeakMap();
|
1122
1130
|
var TYPE_SEP = "~";
|
1123
1131
|
var PAIR_SEP = "!";
|
1124
1132
|
var KV_SEP = "-";
|
@@ -1190,11 +1198,11 @@ function decodeCookieType(type) {
|
|
1190
1198
|
return acc;
|
1191
1199
|
}, {});
|
1192
1200
|
}
|
1193
|
-
function serializeCookie(data) {
|
1201
|
+
function serializeCookie(data, omitZeroScores) {
|
1194
1202
|
return [
|
1195
1203
|
serializeCookieType(data.tests),
|
1196
|
-
serializeCookieType(encodeCookieType(data.sessionScores)),
|
1197
|
-
serializeCookieType(encodeCookieType(data.scores)),
|
1204
|
+
serializeCookieType(encodeCookieType(data.sessionScores, omitZeroScores)),
|
1205
|
+
serializeCookieType(encodeCookieType(data.scores, omitZeroScores)),
|
1198
1206
|
data.controlGroup ? "1" : "0",
|
1199
1207
|
serializePersonalizeVariants(data)
|
1200
1208
|
].join(TYPE_SEP);
|
@@ -1236,8 +1244,11 @@ function decodePersonalizeVariants(data) {
|
|
1236
1244
|
});
|
1237
1245
|
return results;
|
1238
1246
|
}
|
1239
|
-
function encodeCookieType(type) {
|
1247
|
+
function encodeCookieType(type, omitZeroScores) {
|
1240
1248
|
return Object.entries(type).reduce((acc, [key, value]) => {
|
1249
|
+
if (omitZeroScores && value === 0) {
|
1250
|
+
return acc;
|
1251
|
+
}
|
1241
1252
|
acc[key] = ntob(value);
|
1242
1253
|
return acc;
|
1243
1254
|
}, {});
|
package/dist/index.js
CHANGED
@@ -1165,7 +1165,7 @@ var bton = (base64) => {
|
|
1165
1165
|
var ssr = typeof document === "undefined";
|
1166
1166
|
var UNIFORM_DEFAULT_COOKIE_NAME = "ufvd";
|
1167
1167
|
var UNIFORM_DEFAULT_QUIRK_COOKIE_NAME = `ufvdqk`;
|
1168
|
-
var _cookieName, _quirkCookieName, _cookieAttributes, _quirksEnabled;
|
1168
|
+
var _cookieName, _quirkCookieName, _cookieAttributes, _quirksEnabled, _omitZeroScores;
|
1169
1169
|
var CookieTransitionDataStore = class extends TransitionDataStore {
|
1170
1170
|
constructor({
|
1171
1171
|
serverCookieValue,
|
@@ -1173,7 +1173,8 @@ var CookieTransitionDataStore = class extends TransitionDataStore {
|
|
1173
1173
|
quirkCookieValue,
|
1174
1174
|
quirkCookieName = UNIFORM_DEFAULT_QUIRK_COOKIE_NAME,
|
1175
1175
|
cookieName = UNIFORM_DEFAULT_COOKIE_NAME,
|
1176
|
-
cookieAttributes = { sameSite: "lax" }
|
1176
|
+
cookieAttributes = { sameSite: "lax" },
|
1177
|
+
omitZeroScores = false
|
1177
1178
|
}) {
|
1178
1179
|
super({
|
1179
1180
|
initialData: ssr ? parseScoreCookie(serverCookieValue, experimental_quirksEnabled ? quirkCookieValue : void 0) : void 0
|
@@ -1182,10 +1183,12 @@ var CookieTransitionDataStore = class extends TransitionDataStore {
|
|
1182
1183
|
__privateAdd(this, _quirkCookieName);
|
1183
1184
|
__privateAdd(this, _cookieAttributes);
|
1184
1185
|
__privateAdd(this, _quirksEnabled);
|
1186
|
+
__privateAdd(this, _omitZeroScores);
|
1185
1187
|
__privateSet(this, _cookieName, cookieName);
|
1186
1188
|
__privateSet(this, _cookieAttributes, cookieAttributes);
|
1187
1189
|
__privateSet(this, _quirkCookieName, quirkCookieName);
|
1188
1190
|
__privateSet(this, _quirksEnabled, experimental_quirksEnabled || false);
|
1191
|
+
__privateSet(this, _omitZeroScores, omitZeroScores);
|
1189
1192
|
}
|
1190
1193
|
handleDelete() {
|
1191
1194
|
if (ssr) return Promise.resolve();
|
@@ -1195,7 +1198,11 @@ var CookieTransitionDataStore = class extends TransitionDataStore {
|
|
1195
1198
|
async handleUpdateData(_, computedValue) {
|
1196
1199
|
if (ssr) return;
|
1197
1200
|
if (computedValue.consent) {
|
1198
|
-
import_js_cookie.default.set(
|
1201
|
+
import_js_cookie.default.set(
|
1202
|
+
__privateGet(this, _cookieName),
|
1203
|
+
serializeCookie(computedValue, __privateGet(this, _omitZeroScores)),
|
1204
|
+
__privateGet(this, _cookieAttributes)
|
1205
|
+
);
|
1199
1206
|
if (__privateGet(this, _quirksEnabled) && Object.keys(computedValue.quirks || {}).length) {
|
1200
1207
|
const quirkCookieValue = serializeQuirks(computedValue.quirks || {});
|
1201
1208
|
import_js_cookie.default.set(__privateGet(this, _quirkCookieName), quirkCookieValue, __privateGet(this, _cookieAttributes));
|
@@ -1212,6 +1219,7 @@ _cookieName = new WeakMap();
|
|
1212
1219
|
_quirkCookieName = new WeakMap();
|
1213
1220
|
_cookieAttributes = new WeakMap();
|
1214
1221
|
_quirksEnabled = new WeakMap();
|
1222
|
+
_omitZeroScores = new WeakMap();
|
1215
1223
|
var TYPE_SEP = "~";
|
1216
1224
|
var PAIR_SEP = "!";
|
1217
1225
|
var KV_SEP = "-";
|
@@ -1283,11 +1291,11 @@ function decodeCookieType(type) {
|
|
1283
1291
|
return acc;
|
1284
1292
|
}, {});
|
1285
1293
|
}
|
1286
|
-
function serializeCookie(data) {
|
1294
|
+
function serializeCookie(data, omitZeroScores) {
|
1287
1295
|
return [
|
1288
1296
|
serializeCookieType(data.tests),
|
1289
|
-
serializeCookieType(encodeCookieType(data.sessionScores)),
|
1290
|
-
serializeCookieType(encodeCookieType(data.scores)),
|
1297
|
+
serializeCookieType(encodeCookieType(data.sessionScores, omitZeroScores)),
|
1298
|
+
serializeCookieType(encodeCookieType(data.scores, omitZeroScores)),
|
1291
1299
|
data.controlGroup ? "1" : "0",
|
1292
1300
|
serializePersonalizeVariants(data)
|
1293
1301
|
].join(TYPE_SEP);
|
@@ -1329,8 +1337,11 @@ function decodePersonalizeVariants(data) {
|
|
1329
1337
|
});
|
1330
1338
|
return results;
|
1331
1339
|
}
|
1332
|
-
function encodeCookieType(type) {
|
1340
|
+
function encodeCookieType(type, omitZeroScores) {
|
1333
1341
|
return Object.entries(type).reduce((acc, [key, value]) => {
|
1342
|
+
if (omitZeroScores && value === 0) {
|
1343
|
+
return acc;
|
1344
|
+
}
|
1334
1345
|
acc[key] = ntob(value);
|
1335
1346
|
return acc;
|
1336
1347
|
}, {});
|
package/dist/index.mjs
CHANGED
@@ -1072,7 +1072,7 @@ var bton = (base64) => {
|
|
1072
1072
|
var ssr = typeof document === "undefined";
|
1073
1073
|
var UNIFORM_DEFAULT_COOKIE_NAME = "ufvd";
|
1074
1074
|
var UNIFORM_DEFAULT_QUIRK_COOKIE_NAME = `ufvdqk`;
|
1075
|
-
var _cookieName, _quirkCookieName, _cookieAttributes, _quirksEnabled;
|
1075
|
+
var _cookieName, _quirkCookieName, _cookieAttributes, _quirksEnabled, _omitZeroScores;
|
1076
1076
|
var CookieTransitionDataStore = class extends TransitionDataStore {
|
1077
1077
|
constructor({
|
1078
1078
|
serverCookieValue,
|
@@ -1080,7 +1080,8 @@ var CookieTransitionDataStore = class extends TransitionDataStore {
|
|
1080
1080
|
quirkCookieValue,
|
1081
1081
|
quirkCookieName = UNIFORM_DEFAULT_QUIRK_COOKIE_NAME,
|
1082
1082
|
cookieName = UNIFORM_DEFAULT_COOKIE_NAME,
|
1083
|
-
cookieAttributes = { sameSite: "lax" }
|
1083
|
+
cookieAttributes = { sameSite: "lax" },
|
1084
|
+
omitZeroScores = false
|
1084
1085
|
}) {
|
1085
1086
|
super({
|
1086
1087
|
initialData: ssr ? parseScoreCookie(serverCookieValue, experimental_quirksEnabled ? quirkCookieValue : void 0) : void 0
|
@@ -1089,10 +1090,12 @@ var CookieTransitionDataStore = class extends TransitionDataStore {
|
|
1089
1090
|
__privateAdd(this, _quirkCookieName);
|
1090
1091
|
__privateAdd(this, _cookieAttributes);
|
1091
1092
|
__privateAdd(this, _quirksEnabled);
|
1093
|
+
__privateAdd(this, _omitZeroScores);
|
1092
1094
|
__privateSet(this, _cookieName, cookieName);
|
1093
1095
|
__privateSet(this, _cookieAttributes, cookieAttributes);
|
1094
1096
|
__privateSet(this, _quirkCookieName, quirkCookieName);
|
1095
1097
|
__privateSet(this, _quirksEnabled, experimental_quirksEnabled || false);
|
1098
|
+
__privateSet(this, _omitZeroScores, omitZeroScores);
|
1096
1099
|
}
|
1097
1100
|
handleDelete() {
|
1098
1101
|
if (ssr) return Promise.resolve();
|
@@ -1102,7 +1105,11 @@ var CookieTransitionDataStore = class extends TransitionDataStore {
|
|
1102
1105
|
async handleUpdateData(_, computedValue) {
|
1103
1106
|
if (ssr) return;
|
1104
1107
|
if (computedValue.consent) {
|
1105
|
-
Cookies.set(
|
1108
|
+
Cookies.set(
|
1109
|
+
__privateGet(this, _cookieName),
|
1110
|
+
serializeCookie(computedValue, __privateGet(this, _omitZeroScores)),
|
1111
|
+
__privateGet(this, _cookieAttributes)
|
1112
|
+
);
|
1106
1113
|
if (__privateGet(this, _quirksEnabled) && Object.keys(computedValue.quirks || {}).length) {
|
1107
1114
|
const quirkCookieValue = serializeQuirks(computedValue.quirks || {});
|
1108
1115
|
Cookies.set(__privateGet(this, _quirkCookieName), quirkCookieValue, __privateGet(this, _cookieAttributes));
|
@@ -1119,6 +1126,7 @@ _cookieName = new WeakMap();
|
|
1119
1126
|
_quirkCookieName = new WeakMap();
|
1120
1127
|
_cookieAttributes = new WeakMap();
|
1121
1128
|
_quirksEnabled = new WeakMap();
|
1129
|
+
_omitZeroScores = new WeakMap();
|
1122
1130
|
var TYPE_SEP = "~";
|
1123
1131
|
var PAIR_SEP = "!";
|
1124
1132
|
var KV_SEP = "-";
|
@@ -1190,11 +1198,11 @@ function decodeCookieType(type) {
|
|
1190
1198
|
return acc;
|
1191
1199
|
}, {});
|
1192
1200
|
}
|
1193
|
-
function serializeCookie(data) {
|
1201
|
+
function serializeCookie(data, omitZeroScores) {
|
1194
1202
|
return [
|
1195
1203
|
serializeCookieType(data.tests),
|
1196
|
-
serializeCookieType(encodeCookieType(data.sessionScores)),
|
1197
|
-
serializeCookieType(encodeCookieType(data.scores)),
|
1204
|
+
serializeCookieType(encodeCookieType(data.sessionScores, omitZeroScores)),
|
1205
|
+
serializeCookieType(encodeCookieType(data.scores, omitZeroScores)),
|
1198
1206
|
data.controlGroup ? "1" : "0",
|
1199
1207
|
serializePersonalizeVariants(data)
|
1200
1208
|
].join(TYPE_SEP);
|
@@ -1236,8 +1244,11 @@ function decodePersonalizeVariants(data) {
|
|
1236
1244
|
});
|
1237
1245
|
return results;
|
1238
1246
|
}
|
1239
|
-
function encodeCookieType(type) {
|
1247
|
+
function encodeCookieType(type, omitZeroScores) {
|
1240
1248
|
return Object.entries(type).reduce((acc, [key, value]) => {
|
1249
|
+
if (omitZeroScores && value === 0) {
|
1250
|
+
return acc;
|
1251
|
+
}
|
1241
1252
|
acc[key] = ntob(value);
|
1242
1253
|
return acc;
|
1243
1254
|
}, {});
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@uniformdev/context",
|
3
|
-
"version": "20.
|
3
|
+
"version": "20.22.1-alpha.0+b02aa0b2f0",
|
4
4
|
"description": "Uniform Context core package",
|
5
5
|
"license": "SEE LICENSE IN LICENSE.txt",
|
6
6
|
"main": "./dist/index.js",
|
@@ -68,5 +68,5 @@
|
|
68
68
|
"publishConfig": {
|
69
69
|
"access": "public"
|
70
70
|
},
|
71
|
-
"gitHead": "
|
71
|
+
"gitHead": "b02aa0b2f0c3d94ec1f20953cb5bc36dfa9cdbc7"
|
72
72
|
}
|