@braze/web-sdk 4.9.0 → 4.10.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 +2289 -2228
- 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 +1 -1
- package/shared-lib/logger.js +2 -2
- package/shared-lib/supported-options.js +5 -4
- package/src/Core/get-device-id.js +9 -7
- package/src/User/user.js +10 -9
- package/src/managers/braze-instance.js +68 -66
- package/src/managers/device-manager.js +15 -15
- package/src/managers/network-manager.js +64 -61
- package/src/managers/session-manager.js +1 -1
- package/src/managers/storage-manager-factory.js +8 -8
- package/src/managers/storage-manager.js +15 -15
- package/src/managers/subscription-manager.js +1 -1
- package/src/models/backend-errors.js +5 -5
- package/src/models/braze-event.js +2 -2
- package/src/models/device.js +1 -1
- package/src/models/server-config.js +2 -2
- package/src/request-controller.js +112 -108
- package/src/triggers/models/filter.js +7 -7
- package/src/triggers/models/trigger-condition.js +17 -17
- package/src/triggers/models/trigger.js +25 -25
- package/src/triggers/triggers-provider.js +21 -21
- package/src/ui/js/attach-css.js +1 -1
- package/src/ui/js/load-font-awesome.js +1 -1
- package/src/util/base-device-parser.js +1 -1
- package/src/util/browser-detector.js +5 -5
- package/src/util/client-hints-parser.js +6 -6
- package/src/util/date-utils.js +2 -2
- package/src/util/device-constants.js +1 -1
- package/src/util/dom-utils.js +5 -5
- package/src/util/net.js +1 -1
- package/src/util/request-header-utils.js +14 -14
- package/src/util/user-agent-parser.js +5 -5
- package/src/util/validation-utils.js +9 -9
|
@@ -42,7 +42,7 @@ export default class gr extends y {
|
|
|
42
42
|
(this.og = this.u.v(i.k.nE) || this.og);
|
|
43
43
|
for (let t = 0; t < this.triggers.length; t++) {
|
|
44
44
|
const i = this.triggers[t];
|
|
45
|
-
i.id && null != this.og[i.id] && i.
|
|
45
|
+
i.id && null != this.og[i.id] && i.Wu(this.og[i.id]);
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
48
|
}
|
|
@@ -71,7 +71,7 @@ export default class gr extends y {
|
|
|
71
71
|
h = [];
|
|
72
72
|
for (let r = 0; r < t.length; r++) {
|
|
73
73
|
const n = t[r],
|
|
74
|
-
o = i.
|
|
74
|
+
o = i.Xu(n.Zr || 0);
|
|
75
75
|
if (o > 0) {
|
|
76
76
|
let t, r;
|
|
77
77
|
h.push(n),
|
|
@@ -119,10 +119,10 @@ export default class gr extends y {
|
|
|
119
119
|
if (r) {
|
|
120
120
|
r.id &&
|
|
121
121
|
null != this.og[r.id] &&
|
|
122
|
-
(r.
|
|
122
|
+
(r.Wu(this.og[r.id]), (e[r.id] = this.og[r.id])),
|
|
123
123
|
r.id && null != this.ng[r.id] && (h[r.id] = this.ng[r.id]);
|
|
124
|
-
for (let t = 0; t < r.
|
|
125
|
-
if (r.
|
|
124
|
+
for (let t = 0; t < r.Vu.length; t++)
|
|
125
|
+
if (r.Vu[t].ec(tt.zs, null)) {
|
|
126
126
|
s = !0;
|
|
127
127
|
break;
|
|
128
128
|
}
|
|
@@ -147,14 +147,14 @@ export default class gr extends y {
|
|
|
147
147
|
const n = (e) => {
|
|
148
148
|
this.fg();
|
|
149
149
|
const h = new Date().valueOf();
|
|
150
|
-
if (!t.
|
|
150
|
+
if (!t.Yu(i))
|
|
151
151
|
return !1 === navigator.onLine && t.type === mt.Wr.Vr && e.imageUrl
|
|
152
152
|
? (r.j.info(
|
|
153
153
|
`Not showing ${t.type} trigger action ${t.id} due to offline state.`,
|
|
154
154
|
),
|
|
155
155
|
void this.ig.Ji(t.id, InAppMessage.Ie.Uh))
|
|
156
|
-
: void (t.
|
|
157
|
-
? 0 === this.yt.
|
|
156
|
+
: void (t.Uu(h) && this.wg(t, h, s)
|
|
157
|
+
? 0 === this.yt.tc()
|
|
158
158
|
? r.j.info(
|
|
159
159
|
`Not displaying trigger ${t.id} because neither automaticallyShowInAppMessages() nor subscribeToInAppMessage() were called.`,
|
|
160
160
|
)
|
|
@@ -162,7 +162,7 @@ export default class gr extends y {
|
|
|
162
162
|
: r.j.info(
|
|
163
163
|
`Not displaying trigger ${t.id} because display time fell outside of the acceptable time window.`,
|
|
164
164
|
));
|
|
165
|
-
t.type === mt.Wr.
|
|
165
|
+
t.type === mt.Wr.Zu
|
|
166
166
|
? this.ig.Ji(t.id, InAppMessage.Ie.Qr)
|
|
167
167
|
: this.ig.Ji(t.id, InAppMessage.Ie.bh);
|
|
168
168
|
},
|
|
@@ -170,7 +170,7 @@ export default class gr extends y {
|
|
|
170
170
|
this.fg();
|
|
171
171
|
const n = h.pop();
|
|
172
172
|
if (null != n)
|
|
173
|
-
if ((this.Tg(n, i, s, e, h), n.
|
|
173
|
+
if ((this.Tg(n, i, s, e, h), n.Yu(i))) {
|
|
174
174
|
let t = `Server aborted in-app message display, but the timeout on fallback trigger ${n.id} has already elapsed.`;
|
|
175
175
|
h.length > 0 && (t += " Continuing to fall back."),
|
|
176
176
|
r.j.info(t),
|
|
@@ -180,7 +180,7 @@ export default class gr extends y {
|
|
|
180
180
|
r.j.info(
|
|
181
181
|
`Server aborted in-app message display. Falling back to lower priority ${n.type} trigger action ${t.id}.`,
|
|
182
182
|
);
|
|
183
|
-
const o = 1e3 * n.
|
|
183
|
+
const o = 1e3 * n.Gu - (new Date().valueOf() - i);
|
|
184
184
|
o > 0
|
|
185
185
|
? this.eg.push(
|
|
186
186
|
window.setTimeout(() => {
|
|
@@ -206,7 +206,7 @@ export default class gr extends y {
|
|
|
206
206
|
}
|
|
207
207
|
n(a);
|
|
208
208
|
break;
|
|
209
|
-
case mt.Wr.
|
|
209
|
+
case mt.Wr.Zu:
|
|
210
210
|
if (((g = wt.fromJson(t.data, n, o, i, t.sn || 0)), null == g)) {
|
|
211
211
|
r.j.error(
|
|
212
212
|
`Could not parse trigger data for trigger ${t.id}, ignoring.`,
|
|
@@ -225,7 +225,7 @@ export default class gr extends y {
|
|
|
225
225
|
}
|
|
226
226
|
be(t, i = null, s) {
|
|
227
227
|
if (!H(tt, t, "Cannot fire trigger action.", "TriggerEvents")) return;
|
|
228
|
-
if (this.ki && this.ki.
|
|
228
|
+
if (this.ki && this.ki.Du())
|
|
229
229
|
return (
|
|
230
230
|
r.j.info(
|
|
231
231
|
"Trigger sync is currently in progress, awaiting sync completion before firing trigger event.",
|
|
@@ -240,15 +240,15 @@ export default class gr extends y {
|
|
|
240
240
|
const a = [];
|
|
241
241
|
for (let s = 0; s < this.triggers.length; s++) {
|
|
242
242
|
const r = this.triggers[s],
|
|
243
|
-
h = e + 1e3 * r.
|
|
243
|
+
h = e + 1e3 * r.Gu;
|
|
244
244
|
if (
|
|
245
|
-
r.
|
|
245
|
+
r.Uu(h) &&
|
|
246
246
|
(null == r.startTime || r.startTime.valueOf() <= e) &&
|
|
247
247
|
(null == r.endTime || r.endTime.valueOf() >= e)
|
|
248
248
|
) {
|
|
249
249
|
let s = !1;
|
|
250
|
-
for (let e = 0; e < r.
|
|
251
|
-
if (r.
|
|
250
|
+
for (let e = 0; e < r.Vu.length; e++)
|
|
251
|
+
if (r.Vu[e].ec(t, i)) {
|
|
252
252
|
s = !0;
|
|
253
253
|
break;
|
|
254
254
|
}
|
|
@@ -272,12 +272,12 @@ export default class gr extends y {
|
|
|
272
272
|
`Firing ${l.type} trigger action ${l.id} from trigger event ${t}.`,
|
|
273
273
|
),
|
|
274
274
|
this.Tg(l, e, t, s, a),
|
|
275
|
-
0 === l.
|
|
275
|
+
0 === l.Gu
|
|
276
276
|
? this.cg(l, e, t, s, a)
|
|
277
277
|
: this.eg.push(
|
|
278
278
|
window.setTimeout(() => {
|
|
279
279
|
this.cg(l, e, t, s, a);
|
|
280
|
-
}, 1e3 * l.
|
|
280
|
+
}, 1e3 * l.Gu),
|
|
281
281
|
));
|
|
282
282
|
}
|
|
283
283
|
changeUser(t = !1) {
|
|
@@ -302,7 +302,7 @@ export default class gr extends y {
|
|
|
302
302
|
),
|
|
303
303
|
!0
|
|
304
304
|
);
|
|
305
|
-
let e = t.
|
|
305
|
+
let e = t.Ou;
|
|
306
306
|
return null == e && (e = this.tg), i - this.hg >= 1e3 * e;
|
|
307
307
|
}
|
|
308
308
|
Tg(t, s, e, r, h) {
|
|
@@ -318,7 +318,7 @@ export default class gr extends y {
|
|
|
318
318
|
}
|
|
319
319
|
yg(t, s) {
|
|
320
320
|
this.fg(),
|
|
321
|
-
t.
|
|
321
|
+
t.Wu(s),
|
|
322
322
|
(this.hg = s),
|
|
323
323
|
t.id && (this.og[t.id] = s),
|
|
324
324
|
this.u && (this.u.D(i.k.iE, s), this.u.D(i.k.nE, this.og));
|
package/src/ui/js/attach-css.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import e, { OPTIONS as L } from "../../managers/braze-instance.js";
|
|
2
2
|
export function attachCSS(n, t, o) {
|
|
3
3
|
const c = n || document.querySelector("head"),
|
|
4
|
-
s = `ab-${t}-css-definitions-${"4.
|
|
4
|
+
s = `ab-${t}-css-definitions-${"4.10.0".replace(/\./g, "-")}`;
|
|
5
5
|
if (!c) return;
|
|
6
6
|
const a = c.ownerDocument || document;
|
|
7
7
|
if (null == a.getElementById(s)) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import e, { OPTIONS as L } from "../../managers/braze-instance.js";
|
|
2
2
|
export function loadFontAwesome() {
|
|
3
|
-
if (e.nn(L.
|
|
3
|
+
if (e.nn(L.Lo)) return;
|
|
4
4
|
const t = "https://use.fontawesome.com/7f85a56ba4.css";
|
|
5
5
|
if (
|
|
6
6
|
!(null !== document.querySelector('link[rel=stylesheet][href="' + t + '"]'))
|
|
@@ -9,7 +9,7 @@ class gi {
|
|
|
9
9
|
(this.browser = this.Sg.tf()),
|
|
10
10
|
(this.version = this.Sg.ef()),
|
|
11
11
|
(this.OS = null),
|
|
12
|
-
this.
|
|
12
|
+
this.Ta().then((t) => (this.OS = t));
|
|
13
13
|
const i = navigator;
|
|
14
14
|
(this.language = (
|
|
15
15
|
i.userLanguage ||
|
|
@@ -18,18 +18,18 @@ class gi {
|
|
|
18
18
|
i.systemLanguage ||
|
|
19
19
|
""
|
|
20
20
|
).toLowerCase()),
|
|
21
|
-
(this
|
|
21
|
+
(this.qo = gi.vg(this.userAgent));
|
|
22
22
|
}
|
|
23
23
|
OE() {
|
|
24
24
|
return this.browser === oi.Bg;
|
|
25
25
|
}
|
|
26
|
-
|
|
26
|
+
Ca() {
|
|
27
27
|
return this.OS || null;
|
|
28
28
|
}
|
|
29
|
-
|
|
29
|
+
Ta() {
|
|
30
30
|
return this.OS
|
|
31
31
|
? Promise.resolve(this.OS)
|
|
32
|
-
: this.Sg.
|
|
32
|
+
: this.Sg.Ta(gi.Og).then((t) => ((this.OS = t), t));
|
|
33
33
|
}
|
|
34
34
|
static vg(t) {
|
|
35
35
|
t = t.toLowerCase();
|
|
@@ -9,7 +9,7 @@ export default class ni extends ge {
|
|
|
9
9
|
(this.version = null),
|
|
10
10
|
this.userAgentData)
|
|
11
11
|
) {
|
|
12
|
-
const t = this.
|
|
12
|
+
const t = this.ic();
|
|
13
13
|
(this.browser = t.browser || "Unknown Browser"),
|
|
14
14
|
(this.version = t.version || "Unknown Version");
|
|
15
15
|
}
|
|
@@ -21,7 +21,7 @@ export default class ni extends ge {
|
|
|
21
21
|
ef() {
|
|
22
22
|
return this.version;
|
|
23
23
|
}
|
|
24
|
-
|
|
24
|
+
Ta(t) {
|
|
25
25
|
if (this.OS) return Promise.resolve(this.OS);
|
|
26
26
|
const s = (s) => {
|
|
27
27
|
for (let r = 0; r < t.length; r++) {
|
|
@@ -36,12 +36,12 @@ export default class ni extends ge {
|
|
|
36
36
|
.then((t) => (t.platform ? s(t.platform) : navigator.platform))
|
|
37
37
|
.catch(() => navigator.platform);
|
|
38
38
|
}
|
|
39
|
-
|
|
39
|
+
ic() {
|
|
40
40
|
const t = {},
|
|
41
41
|
s = this.userAgentData.brands;
|
|
42
42
|
if (s && s.length)
|
|
43
43
|
for (const r of s) {
|
|
44
|
-
const s = this.
|
|
44
|
+
const s = this.nc(oi),
|
|
45
45
|
i = r.brand.match(s);
|
|
46
46
|
if (i && i.length > 0) {
|
|
47
47
|
(t.browser = i[0]), (t.version = r.version);
|
|
@@ -50,11 +50,11 @@ export default class ni extends ge {
|
|
|
50
50
|
}
|
|
51
51
|
return t;
|
|
52
52
|
}
|
|
53
|
-
|
|
53
|
+
nc(t) {
|
|
54
54
|
const s = [];
|
|
55
55
|
for (const r in t) {
|
|
56
56
|
const i = r;
|
|
57
|
-
t[i] !== oi.
|
|
57
|
+
t[i] !== oi.oc && s.push(t[i]);
|
|
58
58
|
}
|
|
59
59
|
return new RegExp("(" + s.join("|") + ")", "i");
|
|
60
60
|
}
|
package/src/util/date-utils.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isDate as
|
|
1
|
+
import { isDate as yt } from "./code-utils.js";
|
|
2
2
|
export function convertMsToSeconds(e, n = !1) {
|
|
3
3
|
let t = e / 1e3;
|
|
4
4
|
return n && (t = Math.floor(t)), t;
|
|
@@ -12,7 +12,7 @@ export function dateFromUnixTimestamp(e) {
|
|
|
12
12
|
return isNaN(n) ? null : new Date(1e3 * n);
|
|
13
13
|
}
|
|
14
14
|
export function toValidBackendTimeString(e) {
|
|
15
|
-
return null != e &&
|
|
15
|
+
return null != e && yt(e) ? e.toISOString().replace(/\.[0-9]{3}Z$/, "") : e;
|
|
16
16
|
}
|
|
17
17
|
export function rehydrateDateAfterJsonization(e) {
|
|
18
18
|
return null == e || "" === e ? null : new Date(e);
|
package/src/util/dom-utils.js
CHANGED
|
@@ -18,15 +18,15 @@ export function _isInView(t, n = !1, e = !1, s = !1) {
|
|
|
18
18
|
!s)
|
|
19
19
|
);
|
|
20
20
|
}
|
|
21
|
-
export const DOMUtils = {
|
|
21
|
+
export const DOMUtils = { lc: null, no: _isInView };
|
|
22
22
|
export const DIRECTIONS = { Oe: "up", Qe: "down", W: "left", X: "right" };
|
|
23
23
|
export function supportsPassive() {
|
|
24
|
-
if (null == DOMUtils.
|
|
25
|
-
DOMUtils.
|
|
24
|
+
if (null == DOMUtils.lc) {
|
|
25
|
+
DOMUtils.lc = !1;
|
|
26
26
|
try {
|
|
27
27
|
const t = Object.defineProperty({}, "passive", {
|
|
28
28
|
get: () => {
|
|
29
|
-
DOMUtils.
|
|
29
|
+
DOMUtils.lc = !0;
|
|
30
30
|
},
|
|
31
31
|
});
|
|
32
32
|
window.addEventListener("testPassive", () => {}, t),
|
|
@@ -35,7 +35,7 @@ export function supportsPassive() {
|
|
|
35
35
|
r.j.error(ei(t));
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
|
-
return DOMUtils.
|
|
38
|
+
return DOMUtils.lc;
|
|
39
39
|
}
|
|
40
40
|
export function addPassiveEventListener(t, n, e = () => {}) {
|
|
41
41
|
t.addEventListener(n, e, !!supportsPassive() && { passive: !0 });
|
package/src/util/net.js
CHANGED
|
@@ -1,45 +1,45 @@
|
|
|
1
1
|
import { REQUEST_ATTEMPT_DEFAULT as Ae } from "../common/constants.js";
|
|
2
2
|
import { STORAGE_KEYS as i } from "../managers/storage-manager.js";
|
|
3
3
|
const T = {
|
|
4
|
-
Os: {
|
|
5
|
-
|
|
4
|
+
Os: { Na: "d", Ks: "cc", Si: "ff", Lr: "t" },
|
|
5
|
+
rm: (e) => {
|
|
6
6
|
if (e) return e.v(i.k.EE);
|
|
7
7
|
},
|
|
8
|
-
|
|
8
|
+
sm: (e) => {
|
|
9
9
|
if (e) return e.v(i.k.lE);
|
|
10
10
|
},
|
|
11
|
-
|
|
11
|
+
nm: (e, t) => {
|
|
12
12
|
e && e.D(i.k.EE, t);
|
|
13
13
|
},
|
|
14
|
-
|
|
14
|
+
um: (e, t) => {
|
|
15
15
|
e && e.D(i.k.lE, t);
|
|
16
16
|
},
|
|
17
|
-
|
|
17
|
+
La: (e, t) => {
|
|
18
18
|
if (!e || !t) return -1;
|
|
19
|
-
const r = T.
|
|
19
|
+
const r = T.rm(e);
|
|
20
20
|
if (null == r) return -1;
|
|
21
21
|
const s = r[t];
|
|
22
22
|
return null == s || isNaN(s) ? -1 : s;
|
|
23
23
|
},
|
|
24
|
-
|
|
24
|
+
Wa: (e, t) => {
|
|
25
25
|
let r = Ae;
|
|
26
26
|
if (!e || !t) return r;
|
|
27
|
-
const s = T.
|
|
27
|
+
const s = T.sm(e);
|
|
28
28
|
return null == s ? r : ((r = s[t]), null == r || isNaN(r) ? Ae : r);
|
|
29
29
|
},
|
|
30
30
|
Ws: (e, t, r) => {
|
|
31
31
|
if (!e || !t) return;
|
|
32
|
-
let s = T.
|
|
33
|
-
null == s && (s = {}), (s[t] = r), T.
|
|
32
|
+
let s = T.rm(e);
|
|
33
|
+
null == s && (s = {}), (s[t] = r), T.nm(e, s);
|
|
34
34
|
},
|
|
35
35
|
si: (e, t, r) => {
|
|
36
36
|
if (!e || !t) return;
|
|
37
|
-
let s = T.
|
|
38
|
-
null == s && (s = {}), (s[t] = r), T.
|
|
37
|
+
let s = T.sm(e);
|
|
38
|
+
null == s && (s = {}), (s[t] = r), T.um(e, s);
|
|
39
39
|
},
|
|
40
40
|
hi: (e, t) => {
|
|
41
41
|
if (!e || !t) return;
|
|
42
|
-
const r = T.
|
|
42
|
+
const r = T.Wa(e, t);
|
|
43
43
|
T.si(e, t, r + 1);
|
|
44
44
|
},
|
|
45
45
|
};
|
|
@@ -2,7 +2,7 @@ import ge from "./base-device-parser.js";
|
|
|
2
2
|
import { Browsers as oi, OperatingSystems as W } from "./device-constants.js";
|
|
3
3
|
export default class ai extends ge {
|
|
4
4
|
constructor() {
|
|
5
|
-
super(), (this.rd = ai.
|
|
5
|
+
super(), (this.rd = ai.ic(navigator.userAgent || ""));
|
|
6
6
|
}
|
|
7
7
|
tf() {
|
|
8
8
|
return this.rd[0] || "Unknown Browser";
|
|
@@ -10,7 +10,7 @@ export default class ai extends ge {
|
|
|
10
10
|
ef() {
|
|
11
11
|
return this.rd[1] || "Unknown Version";
|
|
12
12
|
}
|
|
13
|
-
|
|
13
|
+
Ta(r) {
|
|
14
14
|
for (let n = 0; n < r.length; n++) {
|
|
15
15
|
const e = r[n].string;
|
|
16
16
|
let i = ai.rf(e, r[n]);
|
|
@@ -22,7 +22,7 @@ export default class ai extends ge {
|
|
|
22
22
|
}
|
|
23
23
|
return Promise.resolve(navigator.platform);
|
|
24
24
|
}
|
|
25
|
-
static
|
|
25
|
+
static ic(r) {
|
|
26
26
|
let n,
|
|
27
27
|
e =
|
|
28
28
|
r.match(
|
|
@@ -30,7 +30,7 @@ export default class ai extends ge {
|
|
|
30
30
|
) || [];
|
|
31
31
|
if (e[1] && /trident/i.test(e[1]))
|
|
32
32
|
return (
|
|
33
|
-
(n = /\brv[ :]+(\.?\d+(\.\d+)*)/g.exec(r) || []), [oi.
|
|
33
|
+
(n = /\brv[ :]+(\.?\d+(\.\d+)*)/g.exec(r) || []), [oi.oc, n[1] || ""]
|
|
34
34
|
);
|
|
35
35
|
if (-1 !== r.indexOf("(Web0S; Linux/SmartTV)"))
|
|
36
36
|
return ["LG Smart TV", null];
|
|
@@ -75,7 +75,7 @@ export default class ai extends ge {
|
|
|
75
75
|
return ["Opera Mini", n[1] || ""];
|
|
76
76
|
if (e[0]) {
|
|
77
77
|
const r = e[0].toLowerCase();
|
|
78
|
-
"msie" === r && (e[0] = oi.
|
|
78
|
+
"msie" === r && (e[0] = oi.oc),
|
|
79
79
|
"crios" === r && (e[0] = oi.pE),
|
|
80
80
|
"tizen" === r && ((e[0] = "Samsung Smart TV"), (e[1] = null)),
|
|
81
81
|
"samsungbrowser" === r && (e[0] = "Samsung Browser");
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
isArray as p,
|
|
3
|
-
isDate as
|
|
4
|
-
isObject as
|
|
3
|
+
isDate as yt,
|
|
4
|
+
isObject as Nt,
|
|
5
5
|
keys as oo,
|
|
6
6
|
} from "./code-utils.js";
|
|
7
7
|
import { getByteLength as U } from "./string-utils.js";
|
|
@@ -46,7 +46,7 @@ export function validateCustomAttributeKey(t) {
|
|
|
46
46
|
export function validatePropertyType(t) {
|
|
47
47
|
const e = typeof t;
|
|
48
48
|
return (
|
|
49
|
-
null == t || "number" === e || "boolean" === e ||
|
|
49
|
+
null == t || "number" === e || "boolean" === e || yt(t) || "string" === e
|
|
50
50
|
);
|
|
51
51
|
}
|
|
52
52
|
export function _validateNestedProperties(t, e, n) {
|
|
@@ -59,16 +59,16 @@ export function _validateNestedProperties(t, e, n) {
|
|
|
59
59
|
if (p(t) && p(e)) {
|
|
60
60
|
for (let r = 0; r < t.length && r < e.length; r++)
|
|
61
61
|
if (
|
|
62
|
-
(
|
|
62
|
+
(yt(t[r]) && (e[r] = $t(t[r])),
|
|
63
63
|
!_validateNestedProperties(t[r], e[r], i))
|
|
64
64
|
)
|
|
65
65
|
return !1;
|
|
66
66
|
} else {
|
|
67
|
-
if (!
|
|
67
|
+
if (!Nt(t)) return validatePropertyType(t);
|
|
68
68
|
for (const r of oo(t)) {
|
|
69
69
|
const n = t[r];
|
|
70
70
|
if (o && !validateCustomAttributeKey(r)) return !1;
|
|
71
|
-
if (
|
|
71
|
+
if (yt(n)) {
|
|
72
72
|
e[r] = $t(n);
|
|
73
73
|
}
|
|
74
74
|
if (!_validateNestedProperties(n, e[r], i)) return !1;
|
|
@@ -80,7 +80,7 @@ export function _validateEventPropertyValue(t, e, n, o, i) {
|
|
|
80
80
|
let a;
|
|
81
81
|
return (
|
|
82
82
|
(a =
|
|
83
|
-
|
|
83
|
+
Nt(t) || p(t)
|
|
84
84
|
? _validateNestedProperties(t, e, i ? 1 : -1)
|
|
85
85
|
: validatePropertyType(t)),
|
|
86
86
|
a || r.j.error(`Cannot ${n} because ${o} "${t}" is invalid.`),
|
|
@@ -125,7 +125,7 @@ export function validateCustomProperties(t, e, n, o, i) {
|
|
|
125
125
|
delete t[r], delete l[r];
|
|
126
126
|
continue;
|
|
127
127
|
}
|
|
128
|
-
|
|
128
|
+
yt(n) && (l[r] = $t(n));
|
|
129
129
|
if (
|
|
130
130
|
!_validateEventPropertyValue(
|
|
131
131
|
n,
|
|
@@ -160,7 +160,7 @@ export function validateCustomAttributeArrayType(t, e) {
|
|
|
160
160
|
return [!1, !1];
|
|
161
161
|
n = !0;
|
|
162
162
|
} else {
|
|
163
|
-
if (!
|
|
163
|
+
if (!Nt(r)) return i(), [!1, !1];
|
|
164
164
|
if (n) return i(), [!1, !1];
|
|
165
165
|
if (
|
|
166
166
|
!validateCustomProperties(
|