@braze/web-sdk 4.9.0 → 5.0.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/index.d.ts +2204 -2230
- package/package.json +1 -1
- package/shared-lib/braze-shared-lib.js +1 -1
- package/shared-lib/event-types.js +9 -9
- package/shared-lib/indexed-db-adapter.js +13 -13
- package/shared-lib/logger.js +2 -2
- package/shared-lib/supported-options.js +8 -8
- package/src/Card/models/captioned-image.js +19 -19
- package/src/Card/models/card.js +95 -94
- package/src/Card/models/classic-card.js +19 -19
- package/src/Card/models/control-card.js +9 -9
- package/src/Card/models/image-only.js +21 -22
- package/src/Card/models/index.js +0 -1
- package/src/Card/util/card-factory.js +39 -39
- package/src/ContentCards/content-cards-provider.js +114 -114
- package/src/ContentCards/get-cached-content-cards.js +1 -1
- package/src/ContentCards/index.js +0 -1
- package/src/ContentCards/request-content-cards-refresh.js +1 -1
- package/src/ContentCards/subscribe-to-content-cards-updates.js +3 -3
- package/src/ContentCards/ui/hide-content-cards.js +2 -2
- package/src/ContentCards/ui/show-content-cards.js +14 -14
- package/src/Core/add-sdk-metadata.js +2 -2
- package/src/Core/change-user.js +2 -2
- package/src/Core/disable-sdk.js +4 -4
- package/src/Core/enable-sdk.js +4 -4
- package/src/Core/get-device-id.js +9 -7
- package/src/Core/handle-braze-action.js +14 -14
- package/src/Core/is-disabled.js +2 -2
- package/src/Core/open-session.js +5 -5
- package/src/Core/set-sdk-authentication-signature.js +2 -2
- package/src/Core/wipe-data.js +4 -4
- package/src/FeatureFlags/feature-flag-factory.js +10 -10
- package/src/FeatureFlags/feature-flag.js +7 -7
- package/src/FeatureFlags/feature-flags-provider.js +50 -50
- package/src/FeatureFlags/get-all-feature-flags.js +1 -1
- package/src/FeatureFlags/get-feature-flag.js +3 -5
- package/src/Feed/feed-provider-factory.js +8 -8
- package/src/Feed/feed-provider.js +15 -15
- package/src/Feed/get-cached-feed.js +2 -2
- package/src/Feed/request-feed-refresh.js +2 -2
- package/src/Feed/subscribe-to-feed-updates.js +2 -2
- package/src/Feed/ui/hide-feed.js +2 -2
- package/src/Feed/ui/show-feed.js +13 -13
- package/src/InAppMessage/display/html-message-to-html.js +11 -12
- package/src/InAppMessage/display/in-app-message-to-html.js +15 -15
- package/src/InAppMessage/display/modal-utils.js +8 -8
- package/src/InAppMessage/in-app-message-factory.js +4 -4
- package/src/InAppMessage/in-app-message-manager.js +38 -38
- package/src/InAppMessage/models/full-screen-message.js +31 -31
- package/src/InAppMessage/models/html-message.js +16 -16
- package/src/InAppMessage/models/in-app-message-button.js +5 -5
- package/src/InAppMessage/models/in-app-message.js +46 -46
- package/src/InAppMessage/models/modal-message.js +30 -30
- package/src/InAppMessage/models/slide-up-message.js +26 -26
- package/src/InAppMessage/ui/show-in-app-message.js +9 -9
- package/src/Push/is-push-blocked.js +2 -2
- package/src/Push/is-push-permission-granted.js +2 -2
- package/src/Push/is-push-supported.js +2 -2
- package/src/Push/push-manager.js +31 -31
- package/src/Push/utils/push-utils.js +9 -9
- package/src/User/user-manager.js +8 -8
- package/src/User/user.js +38 -37
- package/src/common/base-feed.js +15 -14
- package/src/common/base-provider.js +1 -1
- package/src/common/event-logger.js +2 -2
- package/src/common/feed-display.js +32 -32
- package/src/l10n/l10n-manager-factory.js +9 -9
- package/src/managers/auth-manager.js +6 -6
- package/src/managers/braze-instance.js +84 -92
- package/src/managers/device-manager.js +9 -9
- package/src/managers/network-manager.js +72 -69
- package/src/managers/server-config-manager.js +13 -13
- package/src/managers/session-manager.js +9 -9
- package/src/managers/storage-manager-factory.js +11 -11
- package/src/managers/storage-manager.js +110 -110
- package/src/managers/subscription-manager.js +3 -3
- package/src/models/backend-errors.js +5 -5
- package/src/models/braze-event.js +7 -7
- package/src/models/identifier.js +1 -1
- package/src/models/push-token.js +1 -1
- package/src/models/server-config.js +6 -6
- package/src/request-controller.js +129 -125
- package/src/triggers/models/custom-event-data.js +1 -1
- package/src/triggers/models/custom-event-property-data.js +6 -6
- package/src/triggers/models/filter-set.js +8 -8
- package/src/triggers/models/filter.js +31 -31
- package/src/triggers/models/in-app-message-click-data.js +1 -1
- package/src/triggers/models/purchase-data.js +1 -1
- package/src/triggers/models/purchase-property-data.js +4 -4
- package/src/triggers/models/push-click-data.js +3 -3
- package/src/triggers/models/trigger-condition.js +30 -30
- package/src/triggers/models/trigger-events.js +1 -1
- package/src/triggers/models/trigger.js +32 -32
- package/src/triggers/triggers-provider.js +55 -55
- package/src/ui/js/attach-css.js +1 -1
- package/src/ui/js/feed-css.js +5 -5
- package/src/ui/js/iam-css.js +4 -4
- package/src/ui/js/load-font-awesome.js +1 -1
- package/src/util/braze-actions.js +4 -4
- package/src/util/browser-detector.js +11 -11
- package/src/util/client-hints-parser.js +5 -5
- package/src/util/component-utils.js +2 -2
- package/src/util/date-utils.js +2 -2
- package/src/util/device-constants.js +4 -5
- package/src/util/dom-utils.js +5 -5
- package/src/util/net.js +1 -1
- package/src/util/request-header-utils.js +17 -17
- package/src/util/user-agent-parser.js +11 -16
- package/src/util/validation-utils.js +9 -9
- package/src/Card/models/banner.js +0 -31
- package/src/ContentCards/log-content-cards-displayed.js +0 -5
|
@@ -1,50 +1,50 @@
|
|
|
1
1
|
import C from "./util/net.js";
|
|
2
|
-
import
|
|
2
|
+
import ue from "./models/braze-event.js";
|
|
3
3
|
import s from "./common/event-logger.js";
|
|
4
4
|
import { randomInclusive as D } from "./util/math.js";
|
|
5
5
|
import t from "./models/request-result.js";
|
|
6
6
|
import r from "../shared-lib/braze-shared-lib.js";
|
|
7
7
|
import { STORAGE_KEYS as i } from "./managers/storage-manager.js";
|
|
8
8
|
import E from "./managers/subscription-manager.js";
|
|
9
|
-
import
|
|
9
|
+
import vt from "./Push/utils/push-utils.js";
|
|
10
10
|
import T from "./util/request-header-utils.js";
|
|
11
|
-
export default class
|
|
12
|
-
constructor(t, i, s, e,
|
|
11
|
+
export default class Lt {
|
|
12
|
+
constructor(t, i, s, e, h, o, n, r, u, l) {
|
|
13
13
|
(this.cn = t),
|
|
14
14
|
(this.baseUrl = i),
|
|
15
15
|
(this._e = s),
|
|
16
16
|
(this.fn = e),
|
|
17
|
-
(this.ft = o),
|
|
18
17
|
(this.wt = h),
|
|
18
|
+
(this.yt = o),
|
|
19
19
|
(this.u = n),
|
|
20
|
-
(this
|
|
21
|
-
(this.
|
|
22
|
-
(this
|
|
20
|
+
(this.fu = r),
|
|
21
|
+
(this.Mo = u),
|
|
22
|
+
(this.$t = l),
|
|
23
23
|
(this.cn = t),
|
|
24
24
|
(this.baseUrl = i),
|
|
25
|
-
(this.
|
|
26
|
-
(this.
|
|
27
|
-
(this.
|
|
25
|
+
(this.gu = 0),
|
|
26
|
+
(this.RE = n.AE() || 0),
|
|
27
|
+
(this.vu = null),
|
|
28
28
|
(this._e = s),
|
|
29
29
|
(this.fn = e),
|
|
30
|
-
(this.ft = o),
|
|
31
30
|
(this.wt = h),
|
|
31
|
+
(this.yt = o),
|
|
32
32
|
(this.u = n),
|
|
33
|
-
(this.
|
|
34
|
-
(this
|
|
35
|
-
(this
|
|
36
|
-
(this.
|
|
37
|
-
(this.
|
|
38
|
-
(this.
|
|
39
|
-
(this.
|
|
33
|
+
(this.Mo = u),
|
|
34
|
+
(this.$t = l),
|
|
35
|
+
(this.fu = r),
|
|
36
|
+
(this.wu = new E()),
|
|
37
|
+
(this.ku = null),
|
|
38
|
+
(this.yu = 50),
|
|
39
|
+
(this.ju = !1);
|
|
40
40
|
}
|
|
41
|
-
|
|
42
|
-
return !t && !i && this.
|
|
41
|
+
Su(t, i) {
|
|
42
|
+
return !t && !i && this.Mo.Jh() >= this.yu;
|
|
43
43
|
}
|
|
44
|
-
|
|
44
|
+
$u(t) {
|
|
45
45
|
let i = this._e.El();
|
|
46
46
|
if (t.length > 0) {
|
|
47
|
-
const s = this.
|
|
47
|
+
const s = this.wt.getUserId();
|
|
48
48
|
for (const e of t) {
|
|
49
49
|
const t = (!e.userId && !s) || e.userId === s;
|
|
50
50
|
e.type === r.q.Wl && t && (i = !0);
|
|
@@ -52,14 +52,14 @@ export default class Rt {
|
|
|
52
52
|
}
|
|
53
53
|
return i;
|
|
54
54
|
}
|
|
55
|
-
|
|
56
|
-
e && this.
|
|
57
|
-
const a = this.u.
|
|
58
|
-
c = this.u.
|
|
55
|
+
qu(t = !1, s = !1, e = !0, h, o, n, u = !1, l = !1) {
|
|
56
|
+
e && this.Au();
|
|
57
|
+
const a = this.u.uE(),
|
|
58
|
+
c = this.u.hE();
|
|
59
59
|
let d = !1;
|
|
60
60
|
const f = (t, s) => {
|
|
61
61
|
let r = !1;
|
|
62
|
-
T.Ws(this.u, T.Os.
|
|
62
|
+
T.Ws(this.u, T.Os.Na, new Date().valueOf()),
|
|
63
63
|
C.Xs({
|
|
64
64
|
url: this.baseUrl + "/data/",
|
|
65
65
|
data: t,
|
|
@@ -67,107 +67,107 @@ export default class Rt {
|
|
|
67
67
|
O: (e) => {
|
|
68
68
|
null != t.respond_with &&
|
|
69
69
|
t.respond_with.triggers &&
|
|
70
|
-
(this.
|
|
71
|
-
this.
|
|
72
|
-
? (this.
|
|
73
|
-
this.
|
|
70
|
+
(this.gu = Math.max(this.gu - 1, 0)),
|
|
71
|
+
this.$t.Zs(t, e, s)
|
|
72
|
+
? (this.Mo.ti(),
|
|
73
|
+
this.yt.ul(e),
|
|
74
74
|
(null != t.respond_with &&
|
|
75
|
-
t.respond_with.user_id != this.
|
|
75
|
+
t.respond_with.user_id != this.wt.getUserId()) ||
|
|
76
76
|
(null != t.device && this.u.D(i.k.Ca, t.device),
|
|
77
77
|
null != t.sdk_metadata &&
|
|
78
|
-
(this.u.D(i.k.
|
|
79
|
-
this.u.D(i.k.
|
|
80
|
-
this
|
|
81
|
-
T.si(this.u, T.Os.
|
|
82
|
-
"function" == typeof
|
|
78
|
+
(this.u.D(i.k.Kh, t.sdk_metadata),
|
|
79
|
+
this.u.D(i.k.Wh, this._e.Yh())),
|
|
80
|
+
this.fu(e),
|
|
81
|
+
T.si(this.u, T.Os.Na, 1),
|
|
82
|
+
"function" == typeof h && h()))
|
|
83
83
|
: e.auth_error && (r = !0);
|
|
84
84
|
},
|
|
85
85
|
error: () => {
|
|
86
86
|
null != t.respond_with &&
|
|
87
87
|
t.respond_with.triggers &&
|
|
88
|
-
(this.
|
|
89
|
-
this.
|
|
90
|
-
"function" == typeof
|
|
88
|
+
(this.gu = Math.max(this.gu - 1, 0)),
|
|
89
|
+
this.$t.Qh(t.events, t.attributes),
|
|
90
|
+
"function" == typeof o && o();
|
|
91
91
|
},
|
|
92
92
|
ei: (t) => {
|
|
93
93
|
if (("function" == typeof n && n(t), e && !d)) {
|
|
94
|
-
if (t && !r) this.
|
|
94
|
+
if (t && !r) this.Cu();
|
|
95
95
|
else {
|
|
96
|
-
T.hi(this.u, T.Os.
|
|
97
|
-
let t = this.
|
|
98
|
-
(null == t || t < 1e3 * this.
|
|
99
|
-
this.
|
|
96
|
+
T.hi(this.u, T.Os.Na);
|
|
97
|
+
let t = this.vu;
|
|
98
|
+
(null == t || t < 1e3 * this.RE) && (t = 1e3 * this.RE),
|
|
99
|
+
this.Cu(Math.min(3e5, D(1e3 * this.RE, 3 * t)));
|
|
100
100
|
}
|
|
101
101
|
d = !0;
|
|
102
102
|
}
|
|
103
103
|
},
|
|
104
104
|
});
|
|
105
105
|
},
|
|
106
|
-
m = this
|
|
106
|
+
m = this.$u(a),
|
|
107
107
|
g = s || m;
|
|
108
|
-
if (this.
|
|
108
|
+
if (this.Su(u, m))
|
|
109
109
|
return void r.j.info(
|
|
110
110
|
"Declining to flush data due to 50 consecutive authentication failures",
|
|
111
111
|
);
|
|
112
|
-
if (e && !this.
|
|
113
|
-
return this.
|
|
114
|
-
const v = this
|
|
115
|
-
g && this.
|
|
112
|
+
if (e && !this.$t.Pa(a, c, t, g))
|
|
113
|
+
return this.Cu(), void ("function" == typeof n && n(!0));
|
|
114
|
+
const v = this.$t.$a(t, g, a, c, l);
|
|
115
|
+
g && this.gu++;
|
|
116
116
|
let p = !1;
|
|
117
117
|
if (v)
|
|
118
118
|
for (const t of v)
|
|
119
|
-
this.
|
|
120
|
-
this.
|
|
121
|
-
? this.
|
|
122
|
-
: m && (r.j.info("Invoking new session subscriptions"), this.
|
|
119
|
+
this.$t.Qs(t.requestData, () => f(t.requestData, t.headers)), (p = !0);
|
|
120
|
+
this.Mo.wh() && e && !p
|
|
121
|
+
? this.Cu()
|
|
122
|
+
: m && (r.j.info("Invoking new session subscriptions"), this.wu.Dt());
|
|
123
123
|
}
|
|
124
|
-
|
|
125
|
-
return this.
|
|
124
|
+
Du() {
|
|
125
|
+
return this.gu > 0;
|
|
126
126
|
}
|
|
127
|
-
|
|
128
|
-
this.
|
|
129
|
-
(this.
|
|
130
|
-
(this.
|
|
127
|
+
Cu(t = 1e3 * this.RE) {
|
|
128
|
+
this.ju ||
|
|
129
|
+
(this.Au(),
|
|
130
|
+
(this.ku = window.setTimeout(() => {
|
|
131
131
|
if (document.hidden) {
|
|
132
132
|
const t = "visibilitychange",
|
|
133
133
|
i = () => {
|
|
134
134
|
document.hidden ||
|
|
135
|
-
(document.removeEventListener(t, i, !1), this.
|
|
135
|
+
(document.removeEventListener(t, i, !1), this.qu());
|
|
136
136
|
};
|
|
137
137
|
document.addEventListener(t, i, !1);
|
|
138
|
-
} else this.
|
|
138
|
+
} else this.qu();
|
|
139
139
|
}, t)),
|
|
140
|
-
(this.
|
|
140
|
+
(this.vu = t));
|
|
141
141
|
}
|
|
142
|
-
|
|
143
|
-
null != this.
|
|
142
|
+
Au() {
|
|
143
|
+
null != this.ku && (clearTimeout(this.ku), (this.ku = null));
|
|
144
144
|
}
|
|
145
145
|
initialize() {
|
|
146
|
-
(this.
|
|
146
|
+
(this.ju = !1), this.Cu();
|
|
147
147
|
}
|
|
148
148
|
destroy() {
|
|
149
|
-
this.
|
|
150
|
-
this.
|
|
151
|
-
this.
|
|
152
|
-
(this.
|
|
153
|
-
this.
|
|
154
|
-
(this.
|
|
149
|
+
this.wu.removeAllSubscriptions(),
|
|
150
|
+
this.Mo.Gh(),
|
|
151
|
+
this.Au(),
|
|
152
|
+
(this.ju = !0),
|
|
153
|
+
this.qu(void 0, void 0, !1, void 0, void 0, void 0, void 0, !0),
|
|
154
|
+
(this.ku = null);
|
|
155
155
|
}
|
|
156
156
|
pr(t) {
|
|
157
|
-
return this.
|
|
157
|
+
return this.wu.It(t);
|
|
158
158
|
}
|
|
159
159
|
openSession() {
|
|
160
|
-
const t = this._e.
|
|
161
|
-
t && (this.u.
|
|
162
|
-
this.
|
|
160
|
+
const t = this._e.Yh() !== this._e.co();
|
|
161
|
+
t && (this.u._E(i.eu.Xo), this.u._E(i.eu.su)),
|
|
162
|
+
this.qu(void 0, !1, void 0, void 0, void 0),
|
|
163
163
|
this.pu(),
|
|
164
164
|
t &&
|
|
165
165
|
import("./Push/push-manager-factory.js").then((t) => {
|
|
166
|
-
if (this.
|
|
166
|
+
if (this.ju) return;
|
|
167
167
|
const s = t.default.m();
|
|
168
168
|
if (
|
|
169
169
|
null != s &&
|
|
170
|
-
(
|
|
170
|
+
(vt.isPushPermissionGranted() || vt.isPushBlocked())
|
|
171
171
|
) {
|
|
172
172
|
const t = () => {
|
|
173
173
|
s.Sn()
|
|
@@ -179,39 +179,43 @@ export default class Rt {
|
|
|
179
179
|
e = (i, s) => {
|
|
180
180
|
s && t();
|
|
181
181
|
},
|
|
182
|
-
|
|
182
|
+
h = () => {
|
|
183
183
|
const s = this.u.v(i.k.Bn);
|
|
184
184
|
(null == s || s) && t();
|
|
185
185
|
},
|
|
186
|
-
|
|
187
|
-
new r.
|
|
186
|
+
o = r.ts.Zt;
|
|
187
|
+
new r.es(o, r.j).hr(o.rs.cu, e, h);
|
|
188
188
|
}
|
|
189
189
|
});
|
|
190
190
|
}
|
|
191
|
+
Fu() {
|
|
192
|
+
this.u.ni(i.k.Ri), this.u.ni(i.k.gs), this.u.ni(i.k.rn);
|
|
193
|
+
}
|
|
191
194
|
changeUser(t, s, e) {
|
|
192
|
-
const
|
|
193
|
-
if (
|
|
195
|
+
const h = this.wt.getUserId();
|
|
196
|
+
if (h !== t) {
|
|
194
197
|
this._e.kl(),
|
|
195
|
-
|
|
196
|
-
this.
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
198
|
+
this.Fu(),
|
|
199
|
+
null != h && this.qu(void 0, !1, void 0, void 0, void 0),
|
|
200
|
+
this.wt.ru(t),
|
|
201
|
+
e ? this.Mo.setSdkAuthenticationSignature(e) : this.Mo.yh();
|
|
202
|
+
for (let t = 0; t < s.length; t++) s[t].changeUser(null == h);
|
|
203
|
+
null != h && this.u.ni(i.k.L),
|
|
200
204
|
this.u.ni(i.k.Ca),
|
|
201
205
|
this.openSession(),
|
|
202
206
|
r.j.info('Changed user to "' + t + '".');
|
|
203
207
|
} else {
|
|
204
208
|
let i = "Doing nothing.";
|
|
205
209
|
e &&
|
|
206
|
-
this.
|
|
207
|
-
(this.
|
|
210
|
+
this.Mo.jh() !== e &&
|
|
211
|
+
(this.Mo.setSdkAuthenticationSignature(e),
|
|
208
212
|
(i = "Updated SDK authentication signature")),
|
|
209
213
|
r.j.info(`Current user is already ${t}. ${i}`);
|
|
210
214
|
}
|
|
211
215
|
}
|
|
212
216
|
requestImmediateDataFlush(t) {
|
|
213
|
-
this.
|
|
214
|
-
this.
|
|
217
|
+
this.Au(), this._e.co();
|
|
218
|
+
this.qu(
|
|
215
219
|
void 0,
|
|
216
220
|
void 0,
|
|
217
221
|
void 0,
|
|
@@ -226,38 +230,38 @@ export default class Rt {
|
|
|
226
230
|
);
|
|
227
231
|
}
|
|
228
232
|
requestFeedRefresh() {
|
|
229
|
-
this._e.co(), this.
|
|
233
|
+
this._e.co(), this.qu(!0);
|
|
230
234
|
}
|
|
231
235
|
$r(t, i) {
|
|
232
236
|
this._e.co(),
|
|
233
237
|
r.j.info("Requesting explicit trigger refresh."),
|
|
234
|
-
this.
|
|
238
|
+
this.qu(void 0, !0, void 0, t, i);
|
|
235
239
|
}
|
|
236
240
|
$n(t, i) {
|
|
237
|
-
const e = r.q.
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
return
|
|
241
|
+
const e = r.q.Tu,
|
|
242
|
+
h = { a: t, l: i },
|
|
243
|
+
o = s.N(e, h);
|
|
244
|
+
return o && r.j.info(`Logged alias ${t} with label ${i}`), o;
|
|
241
245
|
}
|
|
242
|
-
Gn(i, e,
|
|
243
|
-
if (this.
|
|
246
|
+
Gn(i, e, h) {
|
|
247
|
+
if (this.yt.hu(e))
|
|
244
248
|
return (
|
|
245
249
|
r.j.info(`Custom Attribute "${e}" is blocklisted, ignoring.`), new t()
|
|
246
250
|
);
|
|
247
|
-
const
|
|
248
|
-
n = s.N(i,
|
|
251
|
+
const o = { key: e, value: h },
|
|
252
|
+
n = s.N(i, o);
|
|
249
253
|
if (n) {
|
|
250
|
-
const t = "object" == typeof
|
|
254
|
+
const t = "object" == typeof h ? JSON.stringify(h, null, 2) : h;
|
|
251
255
|
r.j.info(`Logged custom attribute: ${e} with value: ${t}`);
|
|
252
256
|
}
|
|
253
257
|
return n;
|
|
254
258
|
}
|
|
255
|
-
setLastKnownLocation(t, i, e,
|
|
259
|
+
setLastKnownLocation(t, i, e, h, o, n) {
|
|
256
260
|
const u = { latitude: i, longitude: e };
|
|
257
|
-
null !=
|
|
258
|
-
null !=
|
|
261
|
+
null != h && (u.altitude = h),
|
|
262
|
+
null != o && (u.ll_accuracy = o),
|
|
259
263
|
null != n && (u.alt_accuracy = n);
|
|
260
|
-
const l = s.N(r.q.
|
|
264
|
+
const l = s.N(r.q.Lu, u, t || void 0);
|
|
261
265
|
return (
|
|
262
266
|
l &&
|
|
263
267
|
r.j.info(
|
|
@@ -268,40 +272,40 @@ export default class Rt {
|
|
|
268
272
|
}
|
|
269
273
|
vr(t, i) {
|
|
270
274
|
const s = this._e.co();
|
|
271
|
-
return new
|
|
275
|
+
return new ue(this.wt.getUserId(), r.q.Mu, t, s, { cid: i });
|
|
272
276
|
}
|
|
273
277
|
pu() {
|
|
274
|
-
const t = r.
|
|
275
|
-
new r.
|
|
278
|
+
const t = r.ts.Zt;
|
|
279
|
+
new r.es(t, r.j).setItem(t.rs.Na, 1, {
|
|
276
280
|
baseUrl: this.baseUrl,
|
|
277
281
|
data: { api_key: this.cn, device_id: this.fn.ce().id },
|
|
278
|
-
userId: this.
|
|
279
|
-
sdkAuthEnabled: this.
|
|
282
|
+
userId: this.wt.getUserId(),
|
|
283
|
+
sdkAuthEnabled: this.Mo.wh(),
|
|
280
284
|
});
|
|
281
285
|
}
|
|
282
286
|
yr(t) {
|
|
283
287
|
for (const i of t)
|
|
284
|
-
if (i.api_key === this.cn) this.
|
|
288
|
+
if (i.api_key === this.cn) this.$t.Qh(i.events, i.attributes);
|
|
285
289
|
else {
|
|
286
|
-
const t = r.
|
|
287
|
-
new r.
|
|
290
|
+
const t = r.ts.Zt;
|
|
291
|
+
new r.es(t, r.j).setItem(t.rs.wr, r.Z.Y(), i);
|
|
288
292
|
}
|
|
289
293
|
}
|
|
290
|
-
Zn(i, e,
|
|
291
|
-
if (this.
|
|
294
|
+
Zn(i, e, h) {
|
|
295
|
+
if (this.yt.hu(i))
|
|
292
296
|
return (
|
|
293
297
|
r.j.info(`Custom Attribute "${i}" is blocklisted, ignoring.`), new t()
|
|
294
298
|
);
|
|
295
|
-
let
|
|
299
|
+
let o, n;
|
|
296
300
|
return (
|
|
297
|
-
null === e && null ===
|
|
298
|
-
? ((
|
|
299
|
-
: ((
|
|
300
|
-
s.N(
|
|
301
|
+
null === e && null === h
|
|
302
|
+
? ((o = r.q.Pu), (n = { key: i }))
|
|
303
|
+
: ((o = r.q.Ru), (n = { key: i, latitude: e, longitude: h })),
|
|
304
|
+
s.N(o, n)
|
|
301
305
|
);
|
|
302
306
|
}
|
|
303
307
|
au(t, i) {
|
|
304
308
|
const e = { group_id: t, status: i };
|
|
305
|
-
return s.N(r.q.
|
|
309
|
+
return s.N(r.q.Nu, e);
|
|
306
310
|
}
|
|
307
311
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
export default class
|
|
1
|
+
import Wt from "./filter-set.js";
|
|
2
|
+
export default class Yt {
|
|
3
3
|
constructor(t, s) {
|
|
4
4
|
(this.yl = t), (this.Jl = s), (this.yl = t), (this.Jl = s);
|
|
5
5
|
}
|
|
@@ -10,12 +10,12 @@ export default class Zt {
|
|
|
10
10
|
return s === this.yl && this.Jl.Bl(i);
|
|
11
11
|
}
|
|
12
12
|
static fromJson(t) {
|
|
13
|
-
return new
|
|
13
|
+
return new Yt(
|
|
14
14
|
t ? t.event_name : null,
|
|
15
|
-
t ?
|
|
15
|
+
t ? Wt.fromJson(t.property_filters) : null,
|
|
16
16
|
);
|
|
17
17
|
}
|
|
18
|
-
|
|
19
|
-
return { e: this.yl, pf: this.Jl ? this.Jl.
|
|
18
|
+
tt() {
|
|
19
|
+
return { e: this.yl, pf: this.Jl ? this.Jl.tt() : null };
|
|
20
20
|
}
|
|
21
21
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import
|
|
1
|
+
import Zt from "./filter.js";
|
|
2
2
|
import { isArray as p } from "../../util/code-utils.js";
|
|
3
|
-
export default class
|
|
3
|
+
export default class Wt {
|
|
4
4
|
constructor(t) {
|
|
5
5
|
(this.filters = t), (this.filters = t);
|
|
6
6
|
}
|
|
@@ -27,17 +27,17 @@ export default class Yt {
|
|
|
27
27
|
for (let e = 0; e < t.length; e++) {
|
|
28
28
|
const o = [],
|
|
29
29
|
s = t[e];
|
|
30
|
-
for (let t = 0; t < s.length; t++) o.push(
|
|
30
|
+
for (let t = 0; t < s.length; t++) o.push(Zt.fromJson(s[t]));
|
|
31
31
|
r.push(o);
|
|
32
32
|
}
|
|
33
|
-
return new
|
|
33
|
+
return new Wt(r);
|
|
34
34
|
}
|
|
35
|
-
|
|
35
|
+
tt() {
|
|
36
36
|
const t = [];
|
|
37
37
|
for (let r = 0; r < this.filters.length; r++) {
|
|
38
38
|
const e = this.filters[r],
|
|
39
39
|
o = [];
|
|
40
|
-
for (let t = 0; t < e.length; t++) o.push(e[t].
|
|
40
|
+
for (let t = 0; t < e.length; t++) o.push(e[t].tt());
|
|
41
41
|
t.push(o);
|
|
42
42
|
}
|
|
43
43
|
return t;
|
|
@@ -47,9 +47,9 @@ export default class Yt {
|
|
|
47
47
|
for (let e = 0; e < t.length; e++) {
|
|
48
48
|
const o = [],
|
|
49
49
|
s = t[e];
|
|
50
|
-
for (let t = 0; t < s.length; t++) o.push(
|
|
50
|
+
for (let t = 0; t < s.length; t++) o.push(Zt.Yn(s[t]));
|
|
51
51
|
r.push(o);
|
|
52
52
|
}
|
|
53
|
-
return new
|
|
53
|
+
return new Wt(r);
|
|
54
54
|
}
|
|
55
55
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { isDate as
|
|
1
|
+
import { isDate as yt } from "../../util/code-utils.js";
|
|
2
2
|
import {
|
|
3
3
|
convertMsToSeconds as h,
|
|
4
4
|
dateFromUnixTimestamp as l,
|
|
5
5
|
secondsAgo as ts,
|
|
6
6
|
secondsInTheFuture as es,
|
|
7
7
|
} from "../../util/date-utils.js";
|
|
8
|
-
export default class
|
|
8
|
+
export default class Zt {
|
|
9
9
|
constructor(t, s, e, i) {
|
|
10
10
|
(this.Tl = t),
|
|
11
11
|
(this.Al = s),
|
|
@@ -15,48 +15,48 @@ export default class sr {
|
|
|
15
15
|
(this.Al = s),
|
|
16
16
|
(this.comparator = e),
|
|
17
17
|
(this._l = i),
|
|
18
|
-
this.Al ===
|
|
19
|
-
this.comparator !==
|
|
20
|
-
this.comparator !==
|
|
21
|
-
this.comparator !==
|
|
22
|
-
this.comparator !==
|
|
18
|
+
this.Al === Zt.Rl.Ml &&
|
|
19
|
+
this.comparator !== Zt.Il.Ll &&
|
|
20
|
+
this.comparator !== Zt.Il.Ol &&
|
|
21
|
+
this.comparator !== Zt.Il.Ul &&
|
|
22
|
+
this.comparator !== Zt.Il.Ql &&
|
|
23
23
|
(this._l = l(this._l));
|
|
24
24
|
}
|
|
25
25
|
Bl(t) {
|
|
26
26
|
let s = null;
|
|
27
27
|
switch ((null != t && (s = t[this.Tl]), this.comparator)) {
|
|
28
|
-
case
|
|
28
|
+
case Zt.Il.Xl:
|
|
29
29
|
return null != s && s.valueOf() === this._l.valueOf();
|
|
30
|
-
case
|
|
30
|
+
case Zt.Il.Fl:
|
|
31
31
|
return null == s || s.valueOf() !== this._l.valueOf();
|
|
32
|
-
case
|
|
32
|
+
case Zt.Il.Kl:
|
|
33
33
|
return null != s && typeof s == typeof this._l && s > this._l;
|
|
34
|
-
case
|
|
35
|
-
return this.Al ===
|
|
36
|
-
? null != s &&
|
|
34
|
+
case Zt.Il.Ll:
|
|
35
|
+
return this.Al === Zt.Rl.Ml
|
|
36
|
+
? null != s && yt(s) && ts(s) <= this._l.valueOf()
|
|
37
37
|
: null != s && typeof s == typeof this._l && s >= this._l;
|
|
38
|
-
case
|
|
38
|
+
case Zt.Il.Pl:
|
|
39
39
|
return null != s && typeof s == typeof this._l && s < this._l;
|
|
40
|
-
case
|
|
41
|
-
return this.Al ===
|
|
42
|
-
? null != s &&
|
|
40
|
+
case Zt.Il.Ol:
|
|
41
|
+
return this.Al === Zt.Rl.Ml
|
|
42
|
+
? null != s && yt(s) && ts(s) >= this._l.valueOf()
|
|
43
43
|
: null != s && typeof s == typeof this._l && s <= this._l;
|
|
44
|
-
case
|
|
44
|
+
case Zt.Il.Yl:
|
|
45
45
|
return (
|
|
46
46
|
null != s &&
|
|
47
47
|
"string" == typeof s &&
|
|
48
48
|
typeof s == typeof this._l &&
|
|
49
49
|
null != s.match(this._l)
|
|
50
50
|
);
|
|
51
|
-
case
|
|
51
|
+
case Zt.Il.Zl:
|
|
52
52
|
return null != s;
|
|
53
|
-
case
|
|
53
|
+
case Zt.Il.$l:
|
|
54
54
|
return null == s;
|
|
55
|
-
case
|
|
56
|
-
return null != s &&
|
|
57
|
-
case
|
|
58
|
-
return null != s &&
|
|
59
|
-
case
|
|
55
|
+
case Zt.Il.Ul:
|
|
56
|
+
return null != s && yt(s) && es(s) < this._l;
|
|
57
|
+
case Zt.Il.Ql:
|
|
58
|
+
return null != s && yt(s) && es(s) > this._l;
|
|
59
|
+
case Zt.Il.Eu:
|
|
60
60
|
return (
|
|
61
61
|
null == s ||
|
|
62
62
|
typeof s != typeof this._l ||
|
|
@@ -67,26 +67,26 @@ export default class sr {
|
|
|
67
67
|
return !1;
|
|
68
68
|
}
|
|
69
69
|
static fromJson(t) {
|
|
70
|
-
return new
|
|
70
|
+
return new Zt(
|
|
71
71
|
t.property_key,
|
|
72
72
|
t.property_type,
|
|
73
73
|
t.comparator,
|
|
74
74
|
t.property_value,
|
|
75
75
|
);
|
|
76
76
|
}
|
|
77
|
-
|
|
77
|
+
tt() {
|
|
78
78
|
let t = this._l;
|
|
79
79
|
return (
|
|
80
|
-
|
|
80
|
+
yt(this._l) && (t = h(t.valueOf())),
|
|
81
81
|
{ k: this.Tl, t: this.Al, c: this.comparator, v: t }
|
|
82
82
|
);
|
|
83
83
|
}
|
|
84
84
|
static Yn(t) {
|
|
85
|
-
return new
|
|
85
|
+
return new Zt(t.k, t.t, t.c, t.v);
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
|
-
(
|
|
89
|
-
(
|
|
88
|
+
(Zt.Rl = { _u: "boolean", Hu: "number", Iu: "string", Ml: "date" }),
|
|
89
|
+
(Zt.Il = {
|
|
90
90
|
Xl: 1,
|
|
91
91
|
Fl: 2,
|
|
92
92
|
Kl: 3,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import Wt from "./filter-set.js";
|
|
2
2
|
export default class is {
|
|
3
3
|
constructor(t, s) {
|
|
4
4
|
(this.productId = t), (this.Jl = s), (this.productId = t), (this.Jl = s);
|
|
@@ -12,10 +12,10 @@ export default class is {
|
|
|
12
12
|
static fromJson(t) {
|
|
13
13
|
return new is(
|
|
14
14
|
t ? t.product_id : null,
|
|
15
|
-
t ?
|
|
15
|
+
t ? Wt.fromJson(t.property_filters) : null,
|
|
16
16
|
);
|
|
17
17
|
}
|
|
18
|
-
|
|
19
|
-
return { id: this.productId, pf: this.Jl ? this.Jl.
|
|
18
|
+
tt() {
|
|
19
|
+
return { id: this.productId, pf: this.Jl ? this.Jl.tt() : null };
|
|
20
20
|
}
|
|
21
21
|
}
|