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(): string | undefined;
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
- var ISP_PERSONALIZATION_SEGMENT_KEY = 'ISP_PERSONALIZATION_SEGMENT';
6
- function setPersonalizationSegment(segment) {
7
- if (segment) {
8
- localStorage.setItem(ISP_PERSONALIZATION_SEGMENT_KEY, segment);
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
- else {
11
- localStorage.removeItem(ISP_PERSONALIZATION_SEGMENT_KEY);
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 localStorage.getItem(ISP_PERSONALIZATION_SEGMENT_KEY) || undefined;
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":";;AAEA,8DAMC;AAED,8DAEC;AAZD,IAAM,+BAA+B,GAAG,6BAA6B,CAAC;AAEtE,SAAgB,yBAAyB,CAAC,OAA2B;IACjE,IAAI,OAAO,EAAE,CAAC;QACV,YAAY,CAAC,OAAO,CAAC,+BAA+B,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC;SAAM,CAAC;QACJ,YAAY,CAAC,UAAU,CAAC,+BAA+B,CAAC,CAAC;IAC7D,CAAC;AACL,CAAC;AAED,SAAgB,yBAAyB;IACrC,OAAO,YAAY,CAAC,OAAO,CAAC,+BAA+B,CAAC,IAAI,SAAS,CAAC;AAC9E,CAAC"}
1
+ {"version":3,"file":"personalizationSegment.js","sourceRoot":"","sources":["../../src/utils/personalizationSegment.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fast-simon-sdk",
3
- "version": "1.6.83",
3
+ "version": "1.6.84",
4
4
  "author": {
5
5
  "name": "Fast Simon inc",
6
6
  "url": "",