@braze/web-sdk 4.10.0 → 4.10.1

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.
Files changed (202) hide show
  1. package/index.d.ts +9 -9
  2. package/package.json +1 -1
  3. package/shared-lib/braze-shared-lib.js +1 -8
  4. package/shared-lib/encoding-utils.js +1 -12
  5. package/shared-lib/event-types.js +1 -34
  6. package/shared-lib/guid.js +1 -10
  7. package/shared-lib/indexed-db-adapter.js +1 -352
  8. package/shared-lib/logger.js +1 -38
  9. package/shared-lib/supported-options.js +1 -27
  10. package/shared-lib/types.js +1 -1
  11. package/src/Card/card-manager-factory.js +1 -14
  12. package/src/Card/card-manager.js +1 -78
  13. package/src/Card/display/card-display.js +1 -138
  14. package/src/Card/index.js +1 -6
  15. package/src/Card/log-card-click.js +1 -11
  16. package/src/Card/log-card-dismissal.js +1 -11
  17. package/src/Card/log-card-impressions.js +1 -13
  18. package/src/Card/log-content-card-click.js +1 -4
  19. package/src/Card/log-content-card-impressions.js +1 -4
  20. package/src/Card/models/banner.js +1 -31
  21. package/src/Card/models/captioned-image.js +1 -33
  22. package/src/Card/models/card.js +1 -196
  23. package/src/Card/models/classic-card.js +1 -32
  24. package/src/Card/models/control-card.js +1 -23
  25. package/src/Card/models/image-only.js +1 -32
  26. package/src/Card/models/index.js +1 -6
  27. package/src/Card/types.js +1 -1
  28. package/src/Card/util/card-factory.js +1 -104
  29. package/src/ContentCards/content-cards-provider-factory.js +1 -20
  30. package/src/ContentCards/content-cards-provider.js +1 -391
  31. package/src/ContentCards/content-cards.js +1 -24
  32. package/src/ContentCards/get-cached-content-cards.js +1 -5
  33. package/src/ContentCards/index.js +1 -8
  34. package/src/ContentCards/log-content-cards-displayed.js +1 -5
  35. package/src/ContentCards/request-content-cards-refresh.js +1 -5
  36. package/src/ContentCards/subscribe-to-content-cards-updates.js +1 -17
  37. package/src/ContentCards/types.js +1 -1
  38. package/src/ContentCards/ui/hide-content-cards.js +1 -8
  39. package/src/ContentCards/ui/show-content-cards.js +1 -77
  40. package/src/ContentCards/ui/toggle-content-cards.js +1 -8
  41. package/src/Core/add-sdk-metadata.js +1 -26
  42. package/src/Core/braze-sdk-metadata.js +1 -10
  43. package/src/Core/change-user.js +1 -17
  44. package/src/Core/destroy.js +1 -5
  45. package/src/Core/device-properties.js +1 -9
  46. package/src/Core/disable-sdk.js +1 -15
  47. package/src/Core/enable-sdk.js +1 -11
  48. package/src/Core/get-device-id.js +1 -13
  49. package/src/Core/get-user.js +1 -4
  50. package/src/Core/handle-braze-action.js +1 -87
  51. package/src/Core/index.js +1 -23
  52. package/src/Core/initialize.js +1 -4
  53. package/src/Core/is-disabled.js +1 -4
  54. package/src/Core/log-custom-event.js +1 -38
  55. package/src/Core/log-purchase.js +1 -245
  56. package/src/Core/open-session.js +1 -25
  57. package/src/Core/remove-all-subscriptions.js +1 -4
  58. package/src/Core/remove-subscription.js +1 -4
  59. package/src/Core/request-immediate-data-flush.js +1 -6
  60. package/src/Core/set-logger.js +1 -4
  61. package/src/Core/set-sdk-authentication-signature.js +1 -8
  62. package/src/Core/subscribe-to-sdk-authentication-failures.js +1 -6
  63. package/src/Core/toggle-logging.js +1 -4
  64. package/src/Core/types.js +1 -1
  65. package/src/Core/wipe-data.js +1 -16
  66. package/src/FeatureFlags/feature-flag-factory.js +1 -24
  67. package/src/FeatureFlags/feature-flag.js +1 -64
  68. package/src/FeatureFlags/feature-flags-provider-factory.js +1 -19
  69. package/src/FeatureFlags/feature-flags-provider.js +1 -145
  70. package/src/FeatureFlags/get-all-feature-flags.js +1 -12
  71. package/src/FeatureFlags/get-feature-flag.js +1 -12
  72. package/src/FeatureFlags/index.js +1 -6
  73. package/src/FeatureFlags/log-feature-flag-impression.js +1 -23
  74. package/src/FeatureFlags/refresh-feature-flags.js +1 -9
  75. package/src/FeatureFlags/subscribe-to-feature-flags-updates.js +1 -9
  76. package/src/FeatureFlags/types.js +1 -1
  77. package/src/Feed/feed-provider-factory.js +1 -18
  78. package/src/Feed/feed-provider.js +1 -90
  79. package/src/Feed/feed.js +1 -20
  80. package/src/Feed/get-cached-feed.js +1 -5
  81. package/src/Feed/index.js +1 -8
  82. package/src/Feed/log-feed-displayed.js +1 -7
  83. package/src/Feed/request-feed-refresh.js +1 -5
  84. package/src/Feed/subscribe-to-feed-updates.js +1 -5
  85. package/src/Feed/types.js +1 -1
  86. package/src/Feed/ui/hide-feed.js +1 -7
  87. package/src/Feed/ui/show-feed.js +1 -96
  88. package/src/Feed/ui/toggle-feed.js +1 -8
  89. package/src/InAppMessage/defer-in-app-message.js +1 -13
  90. package/src/InAppMessage/display/get-animation-effect.js +1 -19
  91. package/src/InAppMessage/display/html-message-to-html.js +1 -244
  92. package/src/InAppMessage/display/in-app-message-to-html.js +1 -188
  93. package/src/InAppMessage/display/modal-utils.js +1 -73
  94. package/src/InAppMessage/get-deferred-in-app-message.js +1 -5
  95. package/src/InAppMessage/in-app-message-factory.js +1 -166
  96. package/src/InAppMessage/in-app-message-manager-factory.js +1 -16
  97. package/src/InAppMessage/in-app-message-manager.js +1 -248
  98. package/src/InAppMessage/index.js +1 -16
  99. package/src/InAppMessage/log-in-app-message-button-click.js +1 -27
  100. package/src/InAppMessage/log-in-app-message-click.js +1 -19
  101. package/src/InAppMessage/log-in-app-message-html-click.js +1 -23
  102. package/src/InAppMessage/log-in-app-message-impression.js +1 -13
  103. package/src/InAppMessage/models/control-message.js +1 -11
  104. package/src/InAppMessage/models/full-screen-message.js +1 -105
  105. package/src/InAppMessage/models/html-message.js +1 -68
  106. package/src/InAppMessage/models/in-app-message-button.js +1 -47
  107. package/src/InAppMessage/models/in-app-message.js +1 -382
  108. package/src/InAppMessage/models/modal-message.js +1 -101
  109. package/src/InAppMessage/models/slide-up-message.js +1 -84
  110. package/src/InAppMessage/models/templated-in-app-message.js +1 -19
  111. package/src/InAppMessage/subscribe-to-in-app-message.js +1 -10
  112. package/src/InAppMessage/types.js +1 -1
  113. package/src/InAppMessage/ui/automatically-show-in-app-messages.js +1 -15
  114. package/src/InAppMessage/ui/show-in-app-message.js +1 -181
  115. package/src/InAppMessage/utils/in-app-message-utils.js +1 -1
  116. package/src/Push/index.js +1 -5
  117. package/src/Push/is-push-blocked.js +1 -5
  118. package/src/Push/is-push-permission-granted.js +1 -5
  119. package/src/Push/is-push-supported.js +1 -5
  120. package/src/Push/push-manager-factory.js +1 -30
  121. package/src/Push/push-manager.js +1 -387
  122. package/src/Push/request-push-permission.js +1 -9
  123. package/src/Push/types.js +1 -1
  124. package/src/Push/unregister-push.js +1 -5
  125. package/src/Push/utils/push-utils.js +1 -36
  126. package/src/User/index.js +1 -1
  127. package/src/User/types.js +1 -1
  128. package/src/User/user-manager.js +1 -73
  129. package/src/User/user.js +1 -302
  130. package/src/common/base-feed.js +1 -28
  131. package/src/common/base-provider.js +1 -6
  132. package/src/common/constants.js +1 -14
  133. package/src/common/event-logger.js +1 -31
  134. package/src/common/feed-display.js +1 -210
  135. package/src/common/translations.js +1 -148
  136. package/src/common/types.js +1 -1
  137. package/src/index.js +1 -9
  138. package/src/l10n/l10n-manager-factory.js +1 -22
  139. package/src/l10n/l10n-manager.js +1 -25
  140. package/src/l10n/types.js +1 -1
  141. package/src/managers/auth-manager.js +1 -51
  142. package/src/managers/braze-instance.js +1 -331
  143. package/src/managers/device-manager.js +1 -85
  144. package/src/managers/network-manager.js +1 -256
  145. package/src/managers/server-config-manager.js +1 -108
  146. package/src/managers/session-manager.js +1 -75
  147. package/src/managers/storage-manager-factory.js +1 -42
  148. package/src/managers/storage-manager.js +1 -419
  149. package/src/managers/subscription-manager.js +1 -28
  150. package/src/managers/types.js +1 -1
  151. package/src/models/backend-errors.js +1 -8
  152. package/src/models/braze-event.js +1 -47
  153. package/src/models/braze-sdk-metadata.js +1 -10
  154. package/src/models/device.js +1 -18
  155. package/src/models/identifier.js +1 -19
  156. package/src/models/push-token.js +1 -27
  157. package/src/models/request-result.js +1 -8
  158. package/src/models/server-config.js +1 -48
  159. package/src/models/types.js +1 -1
  160. package/src/request-controller.js +1 -311
  161. package/src/triggers/models/custom-event-data.js +1 -14
  162. package/src/triggers/models/custom-event-property-data.js +1 -21
  163. package/src/triggers/models/filter-set.js +1 -55
  164. package/src/triggers/models/filter.js +1 -102
  165. package/src/triggers/models/in-app-message-click-data.js +1 -25
  166. package/src/triggers/models/purchase-data.js +1 -14
  167. package/src/triggers/models/purchase-property-data.js +1 -21
  168. package/src/triggers/models/push-click-data.js +1 -15
  169. package/src/triggers/models/trigger-condition.js +1 -105
  170. package/src/triggers/models/trigger-events.js +1 -8
  171. package/src/triggers/models/trigger.js +1 -122
  172. package/src/triggers/triggers-provider-factory.js +1 -34
  173. package/src/triggers/triggers-provider.js +1 -326
  174. package/src/triggers/types.js +1 -1
  175. package/src/types.js +1 -1
  176. package/src/ui/js/attach-css.js +1 -13
  177. package/src/ui/js/feed-css.js +1 -12
  178. package/src/ui/js/iam-css.js +1 -12
  179. package/src/ui/js/index.js +1 -3
  180. package/src/ui/js/load-font-awesome.js +1 -13
  181. package/src/util/base-device-parser.js +1 -14
  182. package/src/util/braze-actions.js +1 -84
  183. package/src/util/browser-detector.js +1 -84
  184. package/src/util/client-hints-parser.js +1 -66
  185. package/src/util/code-utils.js +1 -100
  186. package/src/util/color-utils.js +1 -29
  187. package/src/util/component-utils.js +1 -26
  188. package/src/util/date-utils.js +1 -28
  189. package/src/util/deprecation-utils.js +1 -5
  190. package/src/util/device-constants.js +1 -14
  191. package/src/util/dom-utils.js +1 -91
  192. package/src/util/error-utils.js +1 -2
  193. package/src/util/key-codes.js +1 -1
  194. package/src/util/math.js +1 -5
  195. package/src/util/net.js +1 -71
  196. package/src/util/request-header-utils.js +1 -46
  197. package/src/util/string-utils.js +1 -22
  198. package/src/util/types.js +1 -1
  199. package/src/util/url-utils.js +1 -20
  200. package/src/util/user-agent-parser.js +1 -85
  201. package/src/util/validation-utils.js +1 -217
  202. package/src/util/window-utils.js +1 -34
@@ -1,419 +1 @@
1
- import be from "../models/braze-event.js";
2
- import _t from "../models/identifier.js";
3
- import {
4
- isArray as p,
5
- keys as oo,
6
- validateValueIsFromEnum as H,
7
- values as Pt,
8
- } from "../util/code-utils.js";
9
- import r from "../../shared-lib/braze-shared-lib.js";
10
- import { User } from "../User/index.js";
11
- import V from "../util/browser-detector.js";
12
- import { getErrorMessage as ei } from "../util/error-utils.js";
13
- export const STORAGE_KEYS = {
14
- eu: {
15
- su: "ab.storage.userId",
16
- Zo: "ab.storage.deviceId",
17
- Dl: "ab.storage.sessionId",
18
- },
19
- k: {
20
- Qa: "ab.test",
21
- tE: "ab.storage.events",
22
- eE: "ab.storage.attributes",
23
- sE: "ab.storage.attributes.anonymous_user",
24
- Fa: "ab.storage.device",
25
- Kh: "ab.storage.sdk_metadata",
26
- Wh: "ab.storage.session_id_for_cached_metadata",
27
- Bn: "ab.storage.pushToken",
28
- Bi: "ab.storage.newsFeed",
29
- Ei: "ab.storage.lastNewsFeedRefresh",
30
- L: "ab.storage.cardImpressions",
31
- hl: "ab.storage.serverConfig",
32
- rE: "ab.storage.triggers",
33
- oE: "ab.storage.triggers.ts",
34
- zl: "ab.storage.messagingSessionStart",
35
- Yt: "ab.storage.cc",
36
- ws: "ab.storage.ccLastFullSync",
37
- vs: "ab.storage.ccLastCardUpdated",
38
- Vs: "ab.storage.ccLastClientRequest",
39
- ci: "ab.storage.ccRateLimitCurrentTokenCount",
40
- C: "ab.storage.ccClicks",
41
- K: "ab.storage.ccImpressions",
42
- G: "ab.storage.ccDismissals",
43
- nE: "ab.storage.lastDisplayedTriggerTimesById",
44
- iE: "ab.storage.lastDisplayedTriggerTime",
45
- aE: "ab.storage.triggerFireInstancesById",
46
- xh: "ab.storage.signature",
47
- Ls: "ab.storage.brazeSyncRetryCount",
48
- Ss: "ab.storage.sdkVersion",
49
- Ri: "ab.storage.ff",
50
- qi: "ab.storage.ffImpressions",
51
- Ui: "ab.storage.ffLastRefreshAt",
52
- EE: "ab.storage.lastReqToEndpoint",
53
- lE: "ab.storage.requestAttempts",
54
- rn: "ab.storage.deferredIam",
55
- },
56
- re: "ab.optOut",
57
- };
58
- export default class O {
59
- constructor(t, e) {
60
- (this.SE = t), (this._E = e), (this.SE = t), (this._E = e);
61
- }
62
- Jo(t) {
63
- const e = oo(STORAGE_KEYS.eu),
64
- s = new O.ee(t);
65
- for (const t of e) s.remove(STORAGE_KEYS.eu[t]);
66
- }
67
- uu(t, e) {
68
- let s = null;
69
- null != e && e instanceof _t && (s = e.ss()), this.SE.store(t, s);
70
- }
71
- uE(t) {
72
- const e = this.tu(t);
73
- null != e && ((e.Nl = new Date().valueOf()), this.uu(t, e));
74
- }
75
- tu(t) {
76
- return _t.Yn(this.SE.jr(t));
77
- }
78
- ql(t) {
79
- this.SE.remove(t);
80
- }
81
- bo(t) {
82
- let e;
83
- if (null == t || 0 === t.length) return !1;
84
- e = p(t) ? t : [t];
85
- let s = this._E.jr(STORAGE_KEYS.k.tE);
86
- (null != s && p(s)) || (s = []);
87
- for (let t = 0; t < e.length; t++) s.push(e[t].ss());
88
- return this._E.store(STORAGE_KEYS.k.tE, s);
89
- }
90
- Hl(t) {
91
- return null != t && this.bo([t]);
92
- }
93
- cE() {
94
- let t = this._E.jr(STORAGE_KEYS.k.tE);
95
- this._E.remove(STORAGE_KEYS.k.tE), null == t && (t = []);
96
- const e = [];
97
- let s = !1,
98
- o = null;
99
- if (p(t))
100
- for (let s = 0; s < t.length; s++)
101
- be.TE(t[s]) ? e.push(be.Yn(t[s])) : (o = s);
102
- else s = !0;
103
- if (s || null != o) {
104
- let n = "Stored events could not be deserialized as Events";
105
- s &&
106
- (n += ", was " + Object.prototype.toString.call(t) + " not an array"),
107
- null != o &&
108
- (n += ", value at index " + o + " does not look like an event"),
109
- (n +=
110
- ", serialized values were of type " +
111
- typeof t +
112
- ": " +
113
- JSON.stringify(t)),
114
- e.push(new be(null, r.q.qs, new Date().valueOf(), null, { e: n }));
115
- }
116
- return e;
117
- }
118
- D(t, e) {
119
- return (
120
- !!H(
121
- STORAGE_KEYS.k,
122
- t,
123
- "StorageManager cannot store object.",
124
- "STORAGE_KEYS.OBJECTS",
125
- ) && this._E.store(t, e)
126
- );
127
- }
128
- v(t) {
129
- return (
130
- !!H(
131
- STORAGE_KEYS.k,
132
- t,
133
- "StorageManager cannot retrieve object.",
134
- "STORAGE_KEYS.OBJECTS",
135
- ) && this._E.jr(t)
136
- );
137
- }
138
- ni(t) {
139
- return (
140
- !!H(
141
- STORAGE_KEYS.k,
142
- t,
143
- "StorageManager cannot remove object.",
144
- "STORAGE_KEYS.OBJECTS",
145
- ) && (this._E.remove(t), !0)
146
- );
147
- }
148
- clearData() {
149
- const t = oo(STORAGE_KEYS.eu),
150
- e = oo(STORAGE_KEYS.k);
151
- for (let e = 0; e < t.length; e++) {
152
- const s = t[e];
153
- this.SE.remove(STORAGE_KEYS.eu[s]);
154
- }
155
- for (let t = 0; t < e.length; t++) {
156
- const s = e[t];
157
- this._E.remove(STORAGE_KEYS.k[s]);
158
- }
159
- }
160
- hE(t) {
161
- return t || STORAGE_KEYS.k.sE;
162
- }
163
- Ha(t) {
164
- let e = this._E.jr(STORAGE_KEYS.k.eE);
165
- null == e && (e = {});
166
- const s = this.hE(t[User.bu]),
167
- r = e[s];
168
- for (const o in t)
169
- o !== User.bu &&
170
- (null == e[s] || (r && null == r[o])) &&
171
- this.mu(t[User.bu], o, t[o]);
172
- }
173
- mu(t, e, s) {
174
- let r = this._E.jr(STORAGE_KEYS.k.eE);
175
- null == r && (r = {});
176
- const o = this.hE(t);
177
- let n = r[o];
178
- if (
179
- (null == n && ((n = {}), null != t && (n[User.bu] = t)), e === User.lu)
180
- ) {
181
- null == n[e] && (n[e] = {});
182
- for (const t in s) n[e][t] = s[t];
183
- } else null != s && (n[e] = s);
184
- return (r[o] = n), this._E.store(STORAGE_KEYS.k.eE, r);
185
- }
186
- AE() {
187
- const t = this._E.jr(STORAGE_KEYS.k.eE);
188
- this._E.remove(STORAGE_KEYS.k.eE);
189
- const e = [];
190
- for (const s in t) null != t[s] && e.push(t[s]);
191
- return e;
192
- }
193
- ou(t) {
194
- const e = this._E.jr(STORAGE_KEYS.k.eE);
195
- if (null != e) {
196
- const s = this.hE(null),
197
- r = e[s];
198
- null != r &&
199
- ((e[s] = void 0),
200
- this._E.store(STORAGE_KEYS.k.eE, e),
201
- (r[User.bu] = t),
202
- this.Ha(r));
203
- }
204
- const s = this.tu(STORAGE_KEYS.eu.Dl);
205
- let r = null;
206
- null != s && (r = s.iu);
207
- const o = this.cE();
208
- if (null != o)
209
- for (let e = 0; e < o.length; e++) {
210
- const s = o[e];
211
- null == s.userId && s.sessionId == r && (s.userId = t), this.Hl(s);
212
- }
213
- }
214
- RE() {
215
- return this._E.gE;
216
- }
217
- }
218
- (O.Ya = class {
219
- constructor(t) {
220
- (this.cn = t), (this.cn = t), (this.gE = V.OE() ? 3 : 10);
221
- }
222
- dE(t) {
223
- return t + "." + this.cn;
224
- }
225
- store(t, e) {
226
- const s = { v: e };
227
- try {
228
- return localStorage.setItem(this.dE(t), JSON.stringify(s)), !0;
229
- } catch (t) {
230
- return r.j.info("Storage failure: " + ei(t)), !1;
231
- }
232
- }
233
- jr(t) {
234
- try {
235
- let e = null;
236
- const s = localStorage.getItem(this.dE(t));
237
- return null != s && (e = JSON.parse(s)), null == e ? null : e.v;
238
- } catch (t) {
239
- return r.j.info("Storage retrieval failure: " + ei(t)), null;
240
- }
241
- }
242
- remove(t) {
243
- try {
244
- localStorage.removeItem(this.dE(t));
245
- } catch (t) {
246
- return r.j.info("Storage removal failure: " + ei(t)), !1;
247
- }
248
- }
249
- }),
250
- (O.Za = class {
251
- constructor() {
252
- (this.fE = {}), (this.bE = 5242880), (this.gE = 3);
253
- }
254
- store(t, e) {
255
- const s = { value: e },
256
- o = this.IE(e);
257
- return o > this.bE
258
- ? (r.j.info(
259
- "Storage failure: object is ≈" +
260
- o +
261
- " bytes which is greater than the max of " +
262
- this.bE,
263
- ),
264
- !1)
265
- : ((this.fE[t] = s), !0);
266
- }
267
- IE(t) {
268
- const e = [],
269
- s = [t];
270
- let r = 0;
271
- for (; s.length; ) {
272
- const t = s.pop();
273
- if ("boolean" == typeof t) r += 4;
274
- else if ("string" == typeof t) r += 2 * t.length;
275
- else if ("number" == typeof t) r += 8;
276
- else if ("object" == typeof t && -1 === e.indexOf(t)) {
277
- let r, o;
278
- e.push(t);
279
- for (const e in t) (o = t), (r = e), s.push(o[r]);
280
- }
281
- }
282
- return r;
283
- }
284
- jr(t) {
285
- const e = this.fE[t];
286
- return null == e ? null : e.value;
287
- }
288
- remove(t) {
289
- this.fE[t] = null;
290
- }
291
- }),
292
- (O.ee = class {
293
- constructor(t, e) {
294
- (this.cn = t),
295
- (this.mE = e),
296
- (this.cn = t),
297
- (this.KE = this.YE()),
298
- (this.NE = 576e3),
299
- (this.mE = !!e);
300
- }
301
- dE(t) {
302
- return null != this.cn ? t + "." + this.cn : t;
303
- }
304
- YE() {
305
- let t = 0,
306
- e = document.location.hostname;
307
- const s = e.split("."),
308
- r = "ab._gd";
309
- for (; t < s.length - 1 && -1 === document.cookie.indexOf(r + "=" + r); )
310
- t++,
311
- (e = "." + s.slice(-1 - t).join(".")),
312
- (document.cookie = r + "=" + r + ";domain=" + e + ";");
313
- return (
314
- (document.cookie =
315
- r + "=;expires=" + new Date(0).toUTCString() + ";domain=" + e + ";"),
316
- e
317
- );
318
- }
319
- ae() {
320
- const t = new Date();
321
- return t.setTime(t.getTime() + 60 * this.NE * 1e3), t.getFullYear();
322
- }
323
- DE() {
324
- const t = Pt(STORAGE_KEYS.eu),
325
- e = document.cookie.split(";");
326
- for (let s = 0; s < e.length; s++) {
327
- let r = e[s];
328
- for (; " " === r.charAt(0); ) r = r.substring(1);
329
- let o = !1;
330
- for (let e = 0; e < t.length; e++)
331
- if (0 === r.indexOf(t[e])) {
332
- o = !0;
333
- break;
334
- }
335
- if (o) {
336
- const t = r.split("=")[0];
337
- -1 === t.indexOf("." + this.cn) && this.CE(t);
338
- }
339
- }
340
- }
341
- store(t, e) {
342
- this.DE();
343
- const s = new Date();
344
- s.setTime(s.getTime() + 60 * this.NE * 1e3);
345
- const o = "expires=" + s.toUTCString(),
346
- n = "domain=" + this.KE;
347
- let i;
348
- i = this.mE ? e : encodeURIComponent(JSON.stringify(e));
349
- const a = this.dE(t) + "=" + i + ";" + o + ";" + n + ";path=/";
350
- return a.length >= 4093
351
- ? (r.j.info(
352
- "Storage failure: string is " +
353
- a.length +
354
- " chars which is too large to store as a cookie.",
355
- ),
356
- !1)
357
- : ((document.cookie = a), !0);
358
- }
359
- jr(t) {
360
- const e = [],
361
- s = this.dE(t) + "=",
362
- o = document.cookie.split(";");
363
- for (let n = 0; n < o.length; n++) {
364
- let i = o[n];
365
- for (; " " === i.charAt(0); ) i = i.substring(1);
366
- if (0 === i.indexOf(s))
367
- try {
368
- let t;
369
- (t = this.mE
370
- ? i.substring(s.length, i.length)
371
- : JSON.parse(
372
- decodeURIComponent(i.substring(s.length, i.length)),
373
- )),
374
- e.push(t);
375
- } catch (e) {
376
- return (
377
- r.j.info("Storage retrieval failure: " + ei(e)),
378
- this.remove(t),
379
- null
380
- );
381
- }
382
- }
383
- return e.length > 0 ? e[e.length - 1] : null;
384
- }
385
- remove(t) {
386
- this.CE(this.dE(t));
387
- }
388
- CE(t) {
389
- const e = t + "=;expires=" + new Date(0).toUTCString();
390
- (document.cookie = e), (document.cookie = e + ";path=/");
391
- const s = e + ";domain=" + this.KE;
392
- (document.cookie = s), (document.cookie = s + ";path=/");
393
- }
394
- }),
395
- (O.Va = class {
396
- constructor(t, e, s) {
397
- (this.cn = t),
398
- (this.GE = []),
399
- e && this.GE.push(new O.ee(t)),
400
- s && this.GE.push(new O.Ya(t)),
401
- this.GE.push(new O.Za());
402
- }
403
- store(t, e) {
404
- let s = !0;
405
- for (let r = 0; r < this.GE.length; r++) s = this.GE[r].store(t, e) && s;
406
- return s;
407
- }
408
- jr(t) {
409
- for (let e = 0; e < this.GE.length; e++) {
410
- const s = this.GE[e].jr(t);
411
- if (null != s) return s;
412
- }
413
- return null;
414
- }
415
- remove(t) {
416
- new O.ee(this.cn).remove(t);
417
- for (let e = 0; e < this.GE.length; e++) this.GE[e].remove(t);
418
- }
419
- });
1
+ import be from"../models/braze-event.js";import _t from"../models/identifier.js";import{isArray as p,keys as oo,validateValueIsFromEnum as H,values as Pt}from"../util/code-utils.js";import r from"../../shared-lib/braze-shared-lib.js";import{User}from"../User/index.js";import V from"../util/browser-detector.js";import{getErrorMessage as ei}from"../util/error-utils.js";export const STORAGE_KEYS={eu:{su:"ab.storage.userId",Zo:"ab.storage.deviceId",Dl:"ab.storage.sessionId"},k:{Qa:"ab.test",tE:"ab.storage.events",eE:"ab.storage.attributes",sE:"ab.storage.attributes.anonymous_user",Fa:"ab.storage.device",Kh:"ab.storage.sdk_metadata",Wh:"ab.storage.session_id_for_cached_metadata",Bn:"ab.storage.pushToken",Bi:"ab.storage.newsFeed",Ei:"ab.storage.lastNewsFeedRefresh",L:"ab.storage.cardImpressions",hl:"ab.storage.serverConfig",rE:"ab.storage.triggers",oE:"ab.storage.triggers.ts",zl:"ab.storage.messagingSessionStart",Yt:"ab.storage.cc",ws:"ab.storage.ccLastFullSync",vs:"ab.storage.ccLastCardUpdated",Vs:"ab.storage.ccLastClientRequest",ci:"ab.storage.ccRateLimitCurrentTokenCount",C:"ab.storage.ccClicks",K:"ab.storage.ccImpressions",G:"ab.storage.ccDismissals",nE:"ab.storage.lastDisplayedTriggerTimesById",iE:"ab.storage.lastDisplayedTriggerTime",aE:"ab.storage.triggerFireInstancesById",xh:"ab.storage.signature",Ls:"ab.storage.brazeSyncRetryCount",Ss:"ab.storage.sdkVersion",Ri:"ab.storage.ff",qi:"ab.storage.ffImpressions",Ui:"ab.storage.ffLastRefreshAt",EE:"ab.storage.lastReqToEndpoint",lE:"ab.storage.requestAttempts",rn:"ab.storage.deferredIam"},re:"ab.optOut"};export default class O{constructor(t,e){this.SE=t,this._E=e,this.SE=t,this._E=e}Jo(t){const e=oo(STORAGE_KEYS.eu),s=new O.ee(t);for(const t of e)s.remove(STORAGE_KEYS.eu[t])}uu(t,e){let s=null;null!=e&&e instanceof _t&&(s=e.ss()),this.SE.store(t,s)}uE(t){const e=this.tu(t);null!=e&&(e.Nl=(new Date).valueOf(),this.uu(t,e))}tu(t){return _t.Yn(this.SE.jr(t))}ql(t){this.SE.remove(t)}bo(t){let e;if(null==t||0===t.length)return!1;e=p(t)?t:[t];let s=this._E.jr(STORAGE_KEYS.k.tE);null!=s&&p(s)||(s=[]);for(let t=0;t<e.length;t++)s.push(e[t].ss());return this._E.store(STORAGE_KEYS.k.tE,s)}Hl(t){return null!=t&&this.bo([t])}cE(){let t=this._E.jr(STORAGE_KEYS.k.tE);this._E.remove(STORAGE_KEYS.k.tE),null==t&&(t=[]);const e=[];let s=!1,o=null;if(p(t))for(let s=0;s<t.length;s++)be.TE(t[s])?e.push(be.Yn(t[s])):o=s;else s=!0;if(s||null!=o){let n="Stored events could not be deserialized as Events";s&&(n+=", was "+Object.prototype.toString.call(t)+" not an array"),null!=o&&(n+=", value at index "+o+" does not look like an event"),n+=", serialized values were of type "+typeof t+": "+JSON.stringify(t),e.push(new be(null,r.q.qs,(new Date).valueOf(),null,{e:n}))}return e}D(t,e){return!!H(STORAGE_KEYS.k,t,"StorageManager cannot store object.","STORAGE_KEYS.OBJECTS")&&this._E.store(t,e)}v(t){return!!H(STORAGE_KEYS.k,t,"StorageManager cannot retrieve object.","STORAGE_KEYS.OBJECTS")&&this._E.jr(t)}ni(t){return!!H(STORAGE_KEYS.k,t,"StorageManager cannot remove object.","STORAGE_KEYS.OBJECTS")&&(this._E.remove(t),!0)}clearData(){const t=oo(STORAGE_KEYS.eu),e=oo(STORAGE_KEYS.k);for(let e=0;e<t.length;e++){const s=t[e];this.SE.remove(STORAGE_KEYS.eu[s])}for(let t=0;t<e.length;t++){const s=e[t];this._E.remove(STORAGE_KEYS.k[s])}}hE(t){return t||STORAGE_KEYS.k.sE}Ha(t){let e=this._E.jr(STORAGE_KEYS.k.eE);null==e&&(e={});const s=this.hE(t[User.bu]),r=e[s];for(const o in t)o!==User.bu&&(null==e[s]||r&&null==r[o])&&this.mu(t[User.bu],o,t[o])}mu(t,e,s){let r=this._E.jr(STORAGE_KEYS.k.eE);null==r&&(r={});const o=this.hE(t);let n=r[o];if(null==n&&(n={},null!=t&&(n[User.bu]=t)),e===User.lu){null==n[e]&&(n[e]={});for(const t in s)n[e][t]=s[t]}else n[e]=s;return r[o]=n,this._E.store(STORAGE_KEYS.k.eE,r)}AE(){const t=this._E.jr(STORAGE_KEYS.k.eE);this._E.remove(STORAGE_KEYS.k.eE);const e=[];for(const s in t)null!=t[s]&&e.push(t[s]);return e}ou(t){const e=this._E.jr(STORAGE_KEYS.k.eE);if(null!=e){const s=this.hE(null),r=e[s];null!=r&&(e[s]=void 0,this._E.store(STORAGE_KEYS.k.eE,e),r[User.bu]=t,this.Ha(r))}const s=this.tu(STORAGE_KEYS.eu.Dl);let r=null;null!=s&&(r=s.iu);const o=this.cE();if(null!=o)for(let e=0;e<o.length;e++){const s=o[e];null==s.userId&&s.sessionId==r&&(s.userId=t),this.Hl(s)}}RE(){return this._E.gE}}O.Ya=class{constructor(t){this.cn=t,this.cn=t,this.gE=V.OE()?3:10}dE(t){return t+"."+this.cn}store(t,e){const s={v:e};try{return localStorage.setItem(this.dE(t),JSON.stringify(s)),!0}catch(t){return r.j.info("Storage failure: "+ei(t)),!1}}jr(t){try{let e=null;const s=localStorage.getItem(this.dE(t));return null!=s&&(e=JSON.parse(s)),null==e?null:e.v}catch(t){return r.j.info("Storage retrieval failure: "+ei(t)),null}}remove(t){try{localStorage.removeItem(this.dE(t))}catch(t){return r.j.info("Storage removal failure: "+ei(t)),!1}}},O.Za=class{constructor(){this.fE={},this.bE=5242880,this.gE=3}store(t,e){const s={value:e},o=this.IE(e);return o>this.bE?(r.j.info("Storage failure: object is ≈"+o+" bytes which is greater than the max of "+this.bE),!1):(this.fE[t]=s,!0)}IE(t){const e=[],s=[t];let r=0;for(;s.length;){const t=s.pop();if("boolean"==typeof t)r+=4;else if("string"==typeof t)r+=2*t.length;else if("number"==typeof t)r+=8;else if("object"==typeof t&&-1===e.indexOf(t)){let r,o;e.push(t);for(const e in t)o=t,r=e,s.push(o[r])}}return r}jr(t){const e=this.fE[t];return null==e?null:e.value}remove(t){this.fE[t]=null}},O.ee=class{constructor(t,e){this.cn=t,this.mE=e,this.cn=t,this.KE=this.YE(),this.NE=576e3,this.mE=!!e}dE(t){return null!=this.cn?t+"."+this.cn:t}YE(){let t=0,e=document.location.hostname;const s=e.split("."),r="ab._gd";for(;t<s.length-1&&-1===document.cookie.indexOf(r+"="+r);)t++,e="."+s.slice(-1-t).join("."),document.cookie=r+"="+r+";domain="+e+";";return document.cookie=r+"=;expires="+new Date(0).toUTCString()+";domain="+e+";",e}ae(){const t=new Date;return t.setTime(t.getTime()+60*this.NE*1e3),t.getFullYear()}DE(){const t=Pt(STORAGE_KEYS.eu),e=document.cookie.split(";");for(let s=0;s<e.length;s++){let r=e[s];for(;" "===r.charAt(0);)r=r.substring(1);let o=!1;for(let e=0;e<t.length;e++)if(0===r.indexOf(t[e])){o=!0;break}if(o){const t=r.split("=")[0];-1===t.indexOf("."+this.cn)&&this.CE(t)}}}store(t,e){this.DE();const s=new Date;s.setTime(s.getTime()+60*this.NE*1e3);const o="expires="+s.toUTCString(),n="domain="+this.KE;let i;i=this.mE?e:encodeURIComponent(JSON.stringify(e));const a=this.dE(t)+"="+i+";"+o+";"+n+";path=/";return a.length>=4093?(r.j.info("Storage failure: string is "+a.length+" chars which is too large to store as a cookie."),!1):(document.cookie=a,!0)}jr(t){const e=[],s=this.dE(t)+"=",o=document.cookie.split(";");for(let n=0;n<o.length;n++){let i=o[n];for(;" "===i.charAt(0);)i=i.substring(1);if(0===i.indexOf(s))try{let t;t=this.mE?i.substring(s.length,i.length):JSON.parse(decodeURIComponent(i.substring(s.length,i.length))),e.push(t)}catch(e){return r.j.info("Storage retrieval failure: "+ei(e)),this.remove(t),null}}return e.length>0?e[e.length-1]:null}remove(t){this.CE(this.dE(t))}CE(t){const e=t+"=;expires="+new Date(0).toUTCString();document.cookie=e,document.cookie=e+";path=/";const s=e+";domain="+this.KE;document.cookie=s,document.cookie=s+";path=/"}},O.Va=class{constructor(t,e,s){this.cn=t,this.GE=[],e&&this.GE.push(new O.ee(t)),s&&this.GE.push(new O.Ya(t)),this.GE.push(new O.Za)}store(t,e){let s=!0;for(let r=0;r<this.GE.length;r++)s=this.GE[r].store(t,e)&&s;return s}jr(t){for(let e=0;e<this.GE.length;e++){const s=this.GE[e].jr(t);if(null!=s)return s}return null}remove(t){new O.ee(this.cn).remove(t);for(let e=0;e<this.GE.length;e++)this.GE[e].remove(t)}};
@@ -1,28 +1 @@
1
- import r from "../../shared-lib/braze-shared-lib.js";
2
- export default class E {
3
- constructor() {
4
- this.Ve = {};
5
- }
6
- lt(t) {
7
- if ("function" != typeof t) return null;
8
- const i = r.Z.Y();
9
- return (this.Ve[i] = t), i;
10
- }
11
- removeSubscription(t) {
12
- delete this.Ve[t];
13
- }
14
- removeAllSubscriptions() {
15
- this.Ve = {};
16
- }
17
- tc() {
18
- return Object.keys(this.Ve).length;
19
- }
20
- Et(t) {
21
- const i = [];
22
- for (const r in this.Ve) {
23
- const s = this.Ve[r];
24
- i.push(s(t));
25
- }
26
- return i;
27
- }
28
- }
1
+ import r from"../../shared-lib/braze-shared-lib.js";export default class E{constructor(){this.Ve={}}lt(t){if("function"!=typeof t)return null;const i=r.Z.Y();return this.Ve[i]=t,i}removeSubscription(t){delete this.Ve[t]}removeAllSubscriptions(){this.Ve={}}tc(){return Object.keys(this.Ve).length}Et(t){const i=[];for(const r in this.Ve){const s=this.Ve[r];i.push(s(t))}return i}}
@@ -1 +1 @@
1
- export {};
1
+ export{};
@@ -1,8 +1 @@
1
- export default {
2
- Ra: "invalid_api_key",
3
- Xa: "blacklisted",
4
- Ea: "no_device_identifier",
5
- Zh: "invalid_json_response",
6
- Vh: "empty_response",
7
- __: "sdk_auth_error",
8
- };
1
+ export default{Ra:"invalid_api_key",Xa:"blacklisted",Ea:"no_device_identifier",Zh:"invalid_json_response",Vh:"empty_response",__:"sdk_auth_error"};
@@ -1,47 +1 @@
1
- import { isObject as Nt } from "../util/code-utils.js";
2
- import {
3
- convertMsToSeconds as h,
4
- timestampOrNow as Jt,
5
- } from "../util/date-utils.js";
6
- export default class be {
7
- constructor(t, i, s, r, e) {
8
- (this.userId = t),
9
- (this.type = i),
10
- (this.time = s),
11
- (this.sessionId = r),
12
- (this.data = e),
13
- (this.userId = t),
14
- (this.type = i),
15
- (this.time = Jt(s)),
16
- (this.sessionId = r),
17
- (this.data = e);
18
- }
19
- Kr() {
20
- const t = {
21
- name: this.type,
22
- time: h(this.time),
23
- data: this.data || {},
24
- session_id: this.sessionId,
25
- user_id: void 0,
26
- };
27
- return null != this.userId && (t.user_id = this.userId), t;
28
- }
29
- ss() {
30
- return {
31
- u: this.userId,
32
- t: this.type,
33
- ts: this.time,
34
- s: this.sessionId,
35
- d: this.data,
36
- };
37
- }
38
- static fromJson(t) {
39
- return new be(t.user_id, t.name, t.time, t.session_id, t.data);
40
- }
41
- static TE(t) {
42
- return null != t && Nt(t) && null != t.t && "" !== t.t;
43
- }
44
- static Yn(t) {
45
- return new be(t.u, t.t, t.ts, t.s, t.d);
46
- }
47
- }
1
+ import{isObject as Nt}from"../util/code-utils.js";import{convertMsToSeconds as h,timestampOrNow as Jt}from"../util/date-utils.js";export default class be{constructor(t,i,s,r,e){this.userId=t,this.type=i,this.time=s,this.sessionId=r,this.data=e,this.userId=t,this.type=i,this.time=Jt(s),this.sessionId=r,this.data=e}Kr(){const t={name:this.type,time:h(this.time),data:this.data||{},session_id:this.sessionId,user_id:void 0};return null!=this.userId&&(t.user_id=this.userId),t}ss(){return{u:this.userId,t:this.type,ts:this.time,s:this.sessionId,d:this.data}}static fromJson(t){return new be(t.user_id,t.name,t.time,t.session_id,t.data)}static TE(t){return null!=t&&Nt(t)&&null!=t.t&&""!==t.t}static Yn(t){return new be(t.u,t.t,t.ts,t.s,t.d)}}
@@ -1,10 +1 @@
1
- export default {
2
- GOOGLE_TAG_MANAGER: "gg",
3
- MPARTICLE: "mp",
4
- SEGMENT: "sg",
5
- TEALIUM: "tl",
6
- MANUAL: "manu",
7
- NPM: "npm",
8
- CDN: "wcd",
9
- SHOPIFY: "shp",
10
- };
1
+ export default{GOOGLE_TAG_MANAGER:"gg",MPARTICLE:"mp",SEGMENT:"sg",TEALIUM:"tl",MANUAL:"manu",NPM:"npm",CDN:"wcd",SHOPIFY:"shp"};
@@ -1,18 +1 @@
1
- export default class xt {
2
- constructor(s) {
3
- (this.id = s), (this.id = s);
4
- }
5
- Kr() {
6
- const s = {};
7
- return (
8
- null != this.browser && (s.browser = this.browser),
9
- null != this.Ia && (s.browser_version = this.Ia),
10
- null != this.os && (s.os_version = this.os),
11
- null != this.resolution && (s.resolution = this.resolution),
12
- null != this.language && (s.locale = this.language),
13
- null != this.timeZone && (s.time_zone = this.timeZone),
14
- null != this.userAgent && (s.user_agent = this.userAgent),
15
- s
16
- );
17
- }
18
- }
1
+ export default class xt{constructor(s){this.id=s,this.id=s}Kr(){const s={};return null!=this.browser&&(s.browser=this.browser),null!=this.Ia&&(s.browser_version=this.Ia),null!=this.os&&(s.os_version=this.os),null!=this.resolution&&(s.resolution=this.resolution),null!=this.language&&(s.locale=this.language),null!=this.timeZone&&(s.time_zone=this.timeZone),null!=this.userAgent&&(s.user_agent=this.userAgent),s}}
@@ -1,19 +1 @@
1
- import r from "../../shared-lib/braze-shared-lib.js";
2
- export default class _t {
3
- constructor(t, i, s) {
4
- (this.iu = t),
5
- null == t && (t = r.Z.Y()),
6
- !s || isNaN(s) ? (this.vl = new Date().valueOf()) : (this.vl = s),
7
- (this.iu = t),
8
- (this.Nl = new Date().valueOf()),
9
- (this.Gl = i);
10
- }
11
- ss() {
12
- return { g: this.iu, e: this.Gl, c: this.vl, l: this.Nl };
13
- }
14
- static Yn(t) {
15
- if (null == t || null == t.g) return null;
16
- const i = new _t(t.g, t.e, t.c);
17
- return (i.Nl = t.l), i;
18
- }
19
- }
1
+ import r from"../../shared-lib/braze-shared-lib.js";export default class _t{constructor(t,i,s){this.iu=t,null==t&&(t=r.Z.Y()),!s||isNaN(s)?this.vl=(new Date).valueOf():this.vl=s,this.iu=t,this.Nl=(new Date).valueOf(),this.Gl=i}ss(){return{g:this.iu,e:this.Gl,c:this.vl,l:this.Nl}}static Yn(t){if(null==t||null==t.g)return null;const i=new _t(t.g,t.e,t.c);return i.Nl=t.l,i}}
@@ -1,27 +1 @@
1
- import { rehydrateDateAfterJsonization as w } from "../util/date-utils.js";
2
- export default class ti {
3
- constructor(t, i, s, l, h) {
4
- (this.endpoint = t),
5
- (this.Mn = i),
6
- (this.publicKey = s),
7
- (this.Vl = l),
8
- (this.al = h),
9
- (this.endpoint = t || null),
10
- (this.Mn = i || null),
11
- (this.publicKey = s || null),
12
- (this.Vl = l || null),
13
- (this.al = h || null);
14
- }
15
- ss() {
16
- return {
17
- e: this.endpoint,
18
- c: this.Mn,
19
- p: this.publicKey,
20
- u: this.Vl,
21
- v: this.al,
22
- };
23
- }
24
- static Yn(t) {
25
- return new ti(t.e, w(t.c), t.p, t.u, t.v);
26
- }
27
- }
1
+ import{rehydrateDateAfterJsonization as w}from"../util/date-utils.js";export default class ti{constructor(t,i,s,l,h){this.endpoint=t,this.Mn=i,this.publicKey=s,this.Vl=l,this.al=h,this.endpoint=t||null,this.Mn=i||null,this.publicKey=s||null,this.Vl=l||null,this.al=h||null}ss(){return{e:this.endpoint,c:this.Mn,p:this.publicKey,u:this.Vl,v:this.al}}static Yn(t){return new ti(t.e,w(t.c),t.p,t.u,t.v)}}
@@ -1,8 +1 @@
1
- export default class t {
2
- constructor(t = !1, s = []) {
3
- (this.O = t), (this.ve = s), (this.O = t), (this.ve = s);
4
- }
5
- S(t) {
6
- (this.O = this.O && t.O), this.ve.push(...t.ve);
7
- }
8
- }
1
+ export default class t{constructor(t=!1,s=[]){this.O=t,this.ve=s,this.O=t,this.ve=s}S(t){this.O=this.O&&t.O,this.ve.push(...t.ve)}}
@@ -1,48 +1 @@
1
- export default class Kt {
2
- constructor(
3
- t = 0,
4
- i = [],
5
- s = [],
6
- h = [],
7
- e = null,
8
- l = null,
9
- r = { enabled: !1 },
10
- a = { enabled: !1, refresh_rate_limit: void 0 },
11
- ) {
12
- (this.ol = t),
13
- (this.cl = i),
14
- (this.gl = s),
15
- (this.fl = h),
16
- (this.bl = e),
17
- (this.al = l),
18
- (this.ml = r),
19
- (this.pi = a),
20
- (this.ol = t),
21
- (this.cl = i),
22
- (this.gl = s),
23
- (this.fl = h),
24
- (this.bl = e),
25
- (this.al = l),
26
- (this.ml = r),
27
- (this.pi = a);
28
- }
29
- ss() {
30
- return {
31
- s: "4.10.0",
32
- l: this.ol,
33
- e: this.cl,
34
- a: this.gl,
35
- p: this.fl,
36
- m: this.bl,
37
- v: this.al,
38
- c: this.ml,
39
- f: this.pi,
40
- };
41
- }
42
- static Yn(t) {
43
- let i = t.l;
44
- return (
45
- "4.10.0" !== t.s && (i = 0), new Kt(i, t.e, t.a, t.p, t.m, t.v, t.c, t.f)
46
- );
47
- }
48
- }
1
+ export default class Kt{constructor(t=0,i=[],s=[],h=[],e=null,l=null,r={enabled:!1},a={enabled:!1,refresh_rate_limit:void 0}){this.ol=t,this.cl=i,this.gl=s,this.fl=h,this.bl=e,this.al=l,this.ml=r,this.pi=a,this.ol=t,this.cl=i,this.gl=s,this.fl=h,this.bl=e,this.al=l,this.ml=r,this.pi=a}ss(){return{s:"4.10.1",l:this.ol,e:this.cl,a:this.gl,p:this.fl,m:this.bl,v:this.al,c:this.ml,f:this.pi}}static Yn(t){let i=t.l;return"4.10.1"!==t.s&&(i=0),new Kt(i,t.e,t.a,t.p,t.m,t.v,t.c,t.f)}}
@@ -1 +1 @@
1
- export {};
1
+ export{};