fast-simon-sdk 1.6.83 → 1.6.84
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.
|
@@ -1,2 +1,5 @@
|
|
|
1
|
+
export declare const PS_COOKIE_NAME = "__fs_ps";
|
|
2
|
+
export type PersonalizationSegment = 'new' | 'returning';
|
|
1
3
|
export declare function setPersonalizationSegment(segment: string | undefined): void;
|
|
2
|
-
export declare function getPersonalizationSegment():
|
|
4
|
+
export declare function getPersonalizationSegment(): PersonalizationSegment | undefined;
|
|
5
|
+
export declare function readSegmentFromCookieHeader(header: string | null | undefined): PersonalizationSegment | undefined;
|
|
@@ -1,17 +1,92 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PS_COOKIE_NAME = void 0;
|
|
3
4
|
exports.setPersonalizationSegment = setPersonalizationSegment;
|
|
4
5
|
exports.getPersonalizationSegment = getPersonalizationSegment;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
exports.readSegmentFromCookieHeader = readSegmentFromCookieHeader;
|
|
7
|
+
exports.PS_COOKIE_NAME = '__fs_ps';
|
|
8
|
+
var LS_KEY = 'ISP_PERSONALIZATION_SEGMENT';
|
|
9
|
+
var COOKIE_MAX_AGE_SECONDS = 60 * 60 * 24 * 180;
|
|
10
|
+
function isValidSegment(value) {
|
|
11
|
+
return value === 'new' || value === 'returning';
|
|
12
|
+
}
|
|
13
|
+
function hasWindow() {
|
|
14
|
+
return typeof window !== 'undefined';
|
|
15
|
+
}
|
|
16
|
+
function hasDocument() {
|
|
17
|
+
return typeof document !== 'undefined';
|
|
18
|
+
}
|
|
19
|
+
function readLocalStorage() {
|
|
20
|
+
var _a;
|
|
21
|
+
if (!hasWindow())
|
|
22
|
+
return undefined;
|
|
23
|
+
try {
|
|
24
|
+
var raw = (_a = window.localStorage) === null || _a === void 0 ? void 0 : _a.getItem(LS_KEY);
|
|
25
|
+
return isValidSegment(raw) ? raw : undefined;
|
|
26
|
+
}
|
|
27
|
+
catch (_b) {
|
|
28
|
+
return undefined;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
function writeLocalStorage(segment) {
|
|
32
|
+
var _a, _b;
|
|
33
|
+
if (!hasWindow())
|
|
34
|
+
return;
|
|
35
|
+
try {
|
|
36
|
+
if (segment) {
|
|
37
|
+
(_a = window.localStorage) === null || _a === void 0 ? void 0 : _a.setItem(LS_KEY, segment);
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
(_b = window.localStorage) === null || _b === void 0 ? void 0 : _b.removeItem(LS_KEY);
|
|
41
|
+
}
|
|
9
42
|
}
|
|
10
|
-
|
|
11
|
-
|
|
43
|
+
catch (_c) {
|
|
44
|
+
// storage blocked / quota exceeded
|
|
12
45
|
}
|
|
13
46
|
}
|
|
47
|
+
function writeCookie(segment) {
|
|
48
|
+
if (!hasDocument())
|
|
49
|
+
return;
|
|
50
|
+
try {
|
|
51
|
+
document.cookie = segment
|
|
52
|
+
? "".concat(exports.PS_COOKIE_NAME, "=").concat(segment, "; Max-Age=").concat(COOKIE_MAX_AGE_SECONDS, "; Path=/; SameSite=Lax")
|
|
53
|
+
: "".concat(exports.PS_COOKIE_NAME, "=; Max-Age=0; Path=/; SameSite=Lax");
|
|
54
|
+
}
|
|
55
|
+
catch (_a) {
|
|
56
|
+
// cookie write blocked
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
function setPersonalizationSegment(segment) {
|
|
60
|
+
var next = isValidSegment(segment) ? segment : undefined;
|
|
61
|
+
writeLocalStorage(next);
|
|
62
|
+
writeCookie(next);
|
|
63
|
+
}
|
|
14
64
|
function getPersonalizationSegment() {
|
|
15
|
-
return
|
|
65
|
+
return readLocalStorage();
|
|
66
|
+
}
|
|
67
|
+
function readSegmentFromCookieHeader(header) {
|
|
68
|
+
if (!header || typeof header !== 'string')
|
|
69
|
+
return undefined;
|
|
70
|
+
for (var _i = 0, _a = header.split(';'); _i < _a.length; _i++) {
|
|
71
|
+
var part = _a[_i];
|
|
72
|
+
var eq = part.indexOf('=');
|
|
73
|
+
if (eq < 0)
|
|
74
|
+
continue;
|
|
75
|
+
if (part.slice(0, eq).trim() !== exports.PS_COOKIE_NAME)
|
|
76
|
+
continue;
|
|
77
|
+
var value = part.slice(eq + 1).trim();
|
|
78
|
+
if (value.length >= 2 && value[0] === '"' && value[value.length - 1] === '"') {
|
|
79
|
+
value = value.slice(1, -1);
|
|
80
|
+
}
|
|
81
|
+
try {
|
|
82
|
+
value = decodeURIComponent(value);
|
|
83
|
+
}
|
|
84
|
+
catch (_b) {
|
|
85
|
+
// leave as-is
|
|
86
|
+
}
|
|
87
|
+
if (isValidSegment(value))
|
|
88
|
+
return value;
|
|
89
|
+
}
|
|
90
|
+
return undefined;
|
|
16
91
|
}
|
|
17
92
|
//# sourceMappingURL=personalizationSegment.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"personalizationSegment.js","sourceRoot":"","sources":["../../src/utils/personalizationSegment.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"personalizationSegment.js","sourceRoot":"","sources":["../../src/utils/personalizationSegment.ts"],"names":[],"mappings":"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"}
|