@braze/web-sdk 5.9.1 → 6.1.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 +209 -283
- package/package.json +1 -1
- package/shared-lib/encoding-utils.js +1 -1
- package/shared-lib/event-types.js +27 -29
- package/shared-lib/guid.js +3 -3
- package/shared-lib/indexed-db-adapter.js +22 -22
- package/shared-lib/logger.js +18 -18
- package/shared-lib/supported-options.js +22 -23
- package/src/Banner/banner-factory.js +2 -1
- package/src/Banner/banner-provider-factory.js +7 -7
- package/src/Banner/banner-provider.js +92 -98
- package/src/Banner/banner.js +21 -18
- package/src/Banner/display/banner-to-html.js +18 -30
- package/src/Banner/display/detect-banner-impressions.js +11 -11
- package/src/Banner/get-all-banners.js +5 -5
- package/src/Banner/get-banner.js +7 -7
- package/src/Banner/index.js +0 -1
- package/src/Banner/log-banner-click.js +7 -7
- package/src/Banner/log-banner-impressions.js +9 -9
- package/src/Banner/request-banners-refresh.js +23 -27
- package/src/Banner/subscribe-to-banners-updates.js +9 -9
- package/src/Banner/ui/insert-banner.js +10 -10
- package/src/Card/card-manager-factory.js +7 -7
- package/src/Card/card-manager.js +45 -47
- package/src/Card/display/card-display.js +76 -74
- package/src/Card/index.js +0 -2
- package/src/Card/log-card-dismissal.js +4 -4
- package/src/Card/log-content-card-click.js +9 -2
- package/src/Card/log-content-card-impressions.js +11 -2
- package/src/Card/models/captioned-image.js +21 -21
- package/src/Card/models/card.js +116 -110
- package/src/Card/models/classic-card.js +21 -21
- package/src/Card/models/control-card.js +15 -15
- package/src/Card/models/image-only.js +20 -21
- package/src/Card/util/card-factory.js +58 -79
- package/src/ContentCards/content-cards-provider-factory.js +13 -13
- package/src/ContentCards/content-cards-provider.js +148 -148
- package/src/ContentCards/content-cards.js +21 -13
- package/src/ContentCards/get-cached-content-cards.js +2 -2
- package/src/ContentCards/request-content-cards-refresh.js +2 -2
- package/src/ContentCards/subscribe-to-content-cards-updates.js +8 -8
- package/src/ContentCards/ui/hide-content-cards.js +5 -5
- package/src/ContentCards/ui/show-content-cards.js +35 -35
- package/src/Core/add-sdk-metadata.js +5 -5
- package/src/Core/change-user.js +7 -7
- package/src/Core/destroy.js +2 -2
- package/src/Core/disable-sdk.js +10 -10
- package/src/Core/enable-sdk.js +7 -7
- package/src/Core/get-device-id.js +4 -4
- package/src/Core/get-user.js +1 -1
- package/src/Core/handle-braze-action.js +10 -10
- package/src/Core/is-disabled.js +2 -2
- package/src/Core/is-initialized.js +1 -1
- package/src/Core/log-custom-event.js +18 -18
- package/src/Core/log-purchase.js +19 -19
- package/src/Core/open-session.js +13 -13
- package/src/Core/request-immediate-data-flush.js +1 -1
- package/src/Core/set-logger.js +2 -2
- package/src/Core/toggle-logging.js +2 -2
- package/src/Core/wipe-data.js +9 -9
- package/src/FeatureFlags/feature-flag-factory.js +10 -10
- package/src/FeatureFlags/feature-flag.js +20 -71
- package/src/FeatureFlags/feature-flags-provider-factory.js +7 -7
- package/src/FeatureFlags/feature-flags-provider.js +86 -86
- package/src/FeatureFlags/get-all-feature-flags.js +3 -3
- package/src/FeatureFlags/get-feature-flag.js +3 -3
- package/src/FeatureFlags/log-feature-flag-impression.js +8 -8
- package/src/FeatureFlags/refresh-feature-flags.js +1 -1
- package/src/FeatureFlags/subscribe-to-feature-flags-updates.js +3 -3
- package/src/InAppMessage/defer-in-app-message.js +4 -4
- package/src/InAppMessage/display/html-message-to-html.js +41 -41
- package/src/InAppMessage/display/in-app-message-to-html.js +145 -139
- package/src/InAppMessage/display/modal-utils.js +40 -42
- package/src/InAppMessage/get-deferred-in-app-message.js +1 -1
- package/src/InAppMessage/in-app-message-factory.js +24 -16
- package/src/InAppMessage/in-app-message-manager-factory.js +5 -5
- package/src/InAppMessage/in-app-message-manager.js +124 -122
- package/src/InAppMessage/log-in-app-message-button-click.js +12 -12
- package/src/InAppMessage/log-in-app-message-click.js +9 -9
- package/src/InAppMessage/log-in-app-message-html-click.js +11 -11
- package/src/InAppMessage/log-in-app-message-impression.js +4 -4
- package/src/InAppMessage/models/control-message.js +5 -5
- package/src/InAppMessage/models/full-screen-message.js +41 -35
- package/src/InAppMessage/models/html-message.js +28 -26
- package/src/InAppMessage/models/in-app-message-button.js +5 -5
- package/src/InAppMessage/models/in-app-message.js +156 -152
- package/src/InAppMessage/models/modal-message.js +40 -34
- package/src/InAppMessage/models/slide-up-message.js +38 -32
- package/src/InAppMessage/models/templated-in-app-message.js +8 -8
- package/src/InAppMessage/subscribe-to-in-app-message.js +1 -1
- package/src/InAppMessage/ui/automatically-show-in-app-messages.js +3 -3
- package/src/InAppMessage/ui/show-in-app-message.js +68 -74
- 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-factory.js +17 -17
- package/src/Push/push-manager.js +127 -127
- package/src/Push/request-push-permission.js +1 -1
- package/src/Push/utils/push-utils.js +25 -15
- package/src/User/user-manager.js +20 -20
- package/src/User/user.js +60 -61
- package/src/common/base-provider.js +1 -1
- package/src/common/content-cards-display.js +211 -0
- package/src/common/event-logger.js +12 -12
- package/src/common/properties-base.js +56 -0
- package/src/index.js +0 -1
- package/src/l10n/l10n-manager-factory.js +10 -10
- package/src/l10n/l10n-manager.js +7 -7
- package/src/managers/auth-manager.js +36 -36
- package/src/managers/braze-instance.js +184 -185
- package/src/managers/device-manager.js +26 -26
- package/src/managers/network-manager.js +194 -193
- package/src/managers/server-config-manager.js +75 -75
- package/src/managers/session-manager.js +29 -29
- package/src/managers/storage-manager-factory.js +13 -13
- package/src/managers/storage-manager.js +162 -164
- package/src/managers/subscription-manager.js +12 -12
- package/src/managers/utils.js +1 -1
- package/src/models/backend-errors.js +5 -5
- package/src/models/braze-event.js +16 -16
- package/src/models/device.js +3 -3
- package/src/models/identifier.js +8 -8
- package/src/models/push-token.js +10 -10
- package/src/models/request-result.js +4 -4
- package/src/models/server-config.js +33 -33
- package/src/request-controller.js +193 -192
- package/src/triggers/models/custom-event-data.js +7 -7
- package/src/triggers/models/custom-event-property-data.js +8 -8
- package/src/triggers/models/filter-set.js +8 -8
- package/src/triggers/models/filter.js +43 -43
- package/src/triggers/models/in-app-message-click-data.js +4 -4
- package/src/triggers/models/purchase-data.js +2 -2
- package/src/triggers/models/purchase-property-data.js +6 -6
- package/src/triggers/models/push-click-data.js +2 -2
- package/src/triggers/models/trigger-condition.js +52 -52
- package/src/triggers/models/trigger-events.js +4 -4
- package/src/triggers/models/trigger.js +19 -19
- package/src/triggers/triggers-provider-factory.js +14 -14
- package/src/triggers/triggers-provider.js +70 -70
- package/src/ui/js/attach-css.js +3 -3
- package/src/ui/js/banner-css.js +1 -1
- package/src/ui/js/iam-css.js +1 -1
- package/src/ui/js/load-font-awesome.js +2 -2
- package/src/util/base-device-parser.js +4 -4
- package/src/util/braze-actions.js +12 -18
- package/src/util/browser-detector.js +27 -20
- package/src/util/client-hints-parser.js +8 -8
- package/src/util/code-utils.js +2 -2
- package/src/util/component-utils.js +14 -14
- package/src/util/deprecation-utils.js +2 -2
- package/src/util/device-constants.js +5 -5
- package/src/util/dom-utils.js +9 -9
- package/src/util/html-display-utils.js +38 -38
- package/src/util/key-codes.js +1 -1
- package/src/util/net.js +12 -12
- package/src/util/request-header-utils.js +22 -22
- package/src/util/string-utils.js +2 -2
- package/src/util/user-agent-parser.js +17 -17
- package/src/util/validation-utils.js +28 -28
- package/src/util/window-utils.js +2 -2
- package/src/Card/log-card-click.js +0 -11
- package/src/Card/log-card-impressions.js +0 -13
- package/src/Feed/feed-provider-factory.js +0 -18
- package/src/Feed/feed-provider.js +0 -90
- package/src/Feed/feed.js +0 -20
- package/src/Feed/get-cached-feed.js +0 -5
- package/src/Feed/index.js +0 -8
- package/src/Feed/log-feed-displayed.js +0 -7
- package/src/Feed/request-feed-refresh.js +0 -5
- package/src/Feed/subscribe-to-feed-updates.js +0 -5
- package/src/Feed/types.js +0 -1
- package/src/Feed/ui/hide-feed.js +0 -7
- package/src/Feed/ui/show-feed.js +0 -96
- package/src/Feed/ui/toggle-feed.js +0 -8
- package/src/common/base-feed.js +0 -29
- package/src/common/feed-display.js +0 -211
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import aa from "../managers/braze-instance.js";
|
|
2
2
|
import BrazeSdkMetadata from "./braze-sdk-metadata.js";
|
|
3
3
|
import {
|
|
4
|
-
isArray as
|
|
4
|
+
isArray as D,
|
|
5
5
|
validateValueIsFromEnum as ta,
|
|
6
6
|
} from "../util/code-utils.js";
|
|
7
|
-
import { logger as
|
|
7
|
+
import { logger as E } from "../../shared-lib/index.js";
|
|
8
8
|
export function addSdkMetadata(a) {
|
|
9
9
|
if (!aa.rr()) return;
|
|
10
|
-
const t = aa.
|
|
10
|
+
const t = aa.m();
|
|
11
11
|
if (t) {
|
|
12
|
-
if (!
|
|
12
|
+
if (!D(a))
|
|
13
13
|
return (
|
|
14
|
-
|
|
14
|
+
E.error("Cannot set SDK metadata because metadata is not an array."), !1
|
|
15
15
|
);
|
|
16
16
|
for (const t of a)
|
|
17
17
|
if (
|
package/src/Core/change-user.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import r from "../managers/braze-instance.js";
|
|
2
2
|
import { getByteLength as er } from "../util/string-utils.js";
|
|
3
|
-
import { logger as
|
|
3
|
+
import { logger as E } from "../../shared-lib/index.js";
|
|
4
4
|
import { User } from "../User/index.js";
|
|
5
5
|
import { validateStandardString as ir } from "../util/validation-utils.js";
|
|
6
6
|
export function changeUser(e, i) {
|
|
7
7
|
if (!r.rr()) return;
|
|
8
8
|
if (null == e || 0 === e.length || e != e)
|
|
9
|
-
return void
|
|
10
|
-
if (er(e) > User.
|
|
11
|
-
return void
|
|
12
|
-
`Rejected user id "${e}" because it is longer than ${User.
|
|
9
|
+
return void E.error("changeUser requires a non-empty userId.");
|
|
10
|
+
if (er(e) > User.mr)
|
|
11
|
+
return void E.error(
|
|
12
|
+
`Rejected user id "${e}" because it is longer than ${User.mr} bytes.`,
|
|
13
13
|
);
|
|
14
14
|
if (null != i && !ir(i, "set signature for new user", "signature")) return;
|
|
15
|
-
const t = r.
|
|
16
|
-
t && t.changeUser(e.toString(), r.
|
|
15
|
+
const t = r.nn();
|
|
16
|
+
t && t.changeUser(e.toString(), r.lr(), i);
|
|
17
17
|
}
|
package/src/Core/destroy.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import r from "../managers/braze-instance.js";
|
|
2
|
-
import { logger as
|
|
2
|
+
import { logger as E } from "../../shared-lib/index.js";
|
|
3
3
|
export function destroy() {
|
|
4
|
-
|
|
4
|
+
E.info("Destroying Braze instance"), r.destroy(!0);
|
|
5
5
|
}
|
package/src/Core/disable-sdk.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import r from "../managers/braze-instance.js";
|
|
2
|
-
import { logger as
|
|
3
|
-
import
|
|
2
|
+
import { logger as E, IndexedDBAdapter as et } from "../../shared-lib/index.js";
|
|
3
|
+
import ee, { STORAGE_KEYS as s } from "../managers/storage-manager.js";
|
|
4
4
|
export function disableSDK() {
|
|
5
|
-
const e = r.
|
|
5
|
+
const e = r.nn();
|
|
6
6
|
e && e.requestImmediateDataFlush();
|
|
7
|
-
const n = new ne
|
|
8
|
-
a = "This-cookie-will-expire-in-" + n.
|
|
9
|
-
n.store(s.
|
|
10
|
-
const i =
|
|
11
|
-
new
|
|
12
|
-
|
|
7
|
+
const n = new ee.ne(null, !0),
|
|
8
|
+
a = "This-cookie-will-expire-in-" + n.se();
|
|
9
|
+
n.store(s.ie, a);
|
|
10
|
+
const i = et.Us.Rs;
|
|
11
|
+
new et(i, E).setItem(i.Fs.le, i.me, !0),
|
|
12
|
+
E.info("disableSDK was called"),
|
|
13
13
|
r.destroy(!1),
|
|
14
|
-
r.
|
|
14
|
+
r.ce(!0);
|
|
15
15
|
}
|
package/src/Core/enable-sdk.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import r from "../managers/braze-instance.js";
|
|
2
|
-
import { logger as
|
|
3
|
-
import
|
|
2
|
+
import { logger as E, IndexedDBAdapter as et } from "../../shared-lib/index.js";
|
|
3
|
+
import ee, { STORAGE_KEYS as s } from "../managers/storage-manager.js";
|
|
4
4
|
export function enableSDK() {
|
|
5
|
-
new ne
|
|
6
|
-
const e =
|
|
7
|
-
new
|
|
8
|
-
|
|
5
|
+
new ee.ne(null, !0).remove(s.ie);
|
|
6
|
+
const e = et.Us.Rs;
|
|
7
|
+
new et(e, E).be(e.Fs.le, e.me),
|
|
8
|
+
E.info("enableSDK was called"),
|
|
9
9
|
r.destroy(!1),
|
|
10
|
-
r.
|
|
10
|
+
r.ce(!1);
|
|
11
11
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import r from "../managers/braze-instance.js";
|
|
2
|
-
import { logger as
|
|
2
|
+
import { logger as E } from "../../shared-lib/index.js";
|
|
3
3
|
export function getDeviceId(e) {
|
|
4
4
|
if (!r.rr()) return;
|
|
5
|
-
const t = r.
|
|
5
|
+
const t = r.de();
|
|
6
6
|
if (!t) return;
|
|
7
|
-
const i = t.
|
|
7
|
+
const i = t.fe().id;
|
|
8
8
|
if ("function" != typeof e) return i;
|
|
9
|
-
|
|
9
|
+
E.warn(
|
|
10
10
|
"The callback for getDeviceId is deprecated. You can access its return value directly instead (e.g. `const id = braze.getDeviceId()`)",
|
|
11
11
|
),
|
|
12
12
|
e(i);
|
package/src/Core/get-user.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { logger as
|
|
2
|
-
import { BRAZE_MUST_BE_INITIALIZED_ERROR as
|
|
1
|
+
import { logger as E } from "../../shared-lib/index.js";
|
|
2
|
+
import { BRAZE_MUST_BE_INITIALIZED_ERROR as w } from "../common/constants.js";
|
|
3
3
|
import r from "../managers/braze-instance.js";
|
|
4
4
|
import {
|
|
5
5
|
BRAZE_ACTIONS as oo,
|
|
@@ -20,7 +20,7 @@ export function _handleBrazeAction(o, e, s) {
|
|
|
20
20
|
if (!e) return;
|
|
21
21
|
const s = (o) => {
|
|
22
22
|
if (!io(o))
|
|
23
|
-
return void
|
|
23
|
+
return void E.error(
|
|
24
24
|
`Decoded Braze Action json is invalid: ${JSON.stringify(
|
|
25
25
|
o,
|
|
26
26
|
null,
|
|
@@ -41,21 +41,21 @@ export function _handleBrazeAction(o, e, s) {
|
|
|
41
41
|
case oo.types.logCustomEvent:
|
|
42
42
|
import("./log-custom-event.js").then(
|
|
43
43
|
({ logCustomEvent: logCustomEvent }) => {
|
|
44
|
-
r.
|
|
44
|
+
r.ao()
|
|
45
45
|
? ((t = Array.prototype.slice.call(e)),
|
|
46
46
|
logCustomEvent(...t))
|
|
47
|
-
:
|
|
47
|
+
: E.error(w);
|
|
48
48
|
},
|
|
49
49
|
);
|
|
50
50
|
break;
|
|
51
51
|
case oo.types.requestPushPermission:
|
|
52
52
|
import("../Push/request-push-permission.js").then(
|
|
53
53
|
({ requestPushPermission: requestPushPermission }) => {
|
|
54
|
-
r.
|
|
55
|
-
? "Safari" === ro.browser && ro.OS === so.
|
|
54
|
+
r.ao()
|
|
55
|
+
? "Safari" === ro.browser && ro.OS === so.co
|
|
56
56
|
? window.navigator.standalone && requestPushPermission()
|
|
57
57
|
: requestPushPermission()
|
|
58
|
-
:
|
|
58
|
+
: E.error(w);
|
|
59
59
|
},
|
|
60
60
|
);
|
|
61
61
|
break;
|
|
@@ -70,12 +70,12 @@ export function _handleBrazeAction(o, e, s) {
|
|
|
70
70
|
s[n](...Array.prototype.slice.call(e));
|
|
71
71
|
}
|
|
72
72
|
break;
|
|
73
|
-
case oo.types.co:
|
|
74
73
|
case oo.types.mo:
|
|
74
|
+
case oo.types.uo:
|
|
75
75
|
(t = Array.prototype.slice.call(e)), no.openUri(...t);
|
|
76
76
|
break;
|
|
77
77
|
default:
|
|
78
|
-
|
|
78
|
+
E.info(`Ignoring unknown Braze Action: ${n}`);
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
81
|
};
|
package/src/Core/is-disabled.js
CHANGED
|
@@ -1,38 +1,38 @@
|
|
|
1
1
|
import r from "../managers/braze-instance.js";
|
|
2
2
|
import c from "../common/event-logger.js";
|
|
3
|
-
import { logger as
|
|
4
|
-
import
|
|
5
|
-
import { TriggersProviderFactory as
|
|
3
|
+
import { logger as E, EventTypes as m } from "../../shared-lib/index.js";
|
|
4
|
+
import ot from "../triggers/models/trigger-events.js";
|
|
5
|
+
import { TriggersProviderFactory as rt } from "../triggers/triggers-provider-factory.js";
|
|
6
6
|
import {
|
|
7
|
-
validateCustomProperties as
|
|
8
|
-
validateCustomString as
|
|
7
|
+
validateCustomProperties as nt,
|
|
8
|
+
validateCustomString as mt,
|
|
9
9
|
} from "../util/validation-utils.js";
|
|
10
|
-
import { LOG_CUSTOM_EVENT_STRING as
|
|
10
|
+
import { LOG_CUSTOM_EVENT_STRING as gt } from "../common/constants.js";
|
|
11
11
|
export function logCustomEvent(t, e) {
|
|
12
12
|
if (!r.rr()) return !1;
|
|
13
13
|
if (null == t || t.length <= 0)
|
|
14
14
|
return (
|
|
15
|
-
|
|
15
|
+
E.error(
|
|
16
16
|
`logCustomEvent requires a non-empty eventName, got "${t}". Ignoring event.`,
|
|
17
17
|
),
|
|
18
18
|
!1
|
|
19
19
|
);
|
|
20
|
-
if (!
|
|
21
|
-
const [o, n] =
|
|
20
|
+
if (!mt(t, "log custom event", "the event name")) return !1;
|
|
21
|
+
const [o, n] = nt(
|
|
22
22
|
e,
|
|
23
|
-
|
|
23
|
+
gt,
|
|
24
24
|
"eventProperties",
|
|
25
25
|
`log custom event "${t}"`,
|
|
26
26
|
"event",
|
|
27
27
|
);
|
|
28
28
|
if (!o) return !1;
|
|
29
|
-
const i = r.
|
|
30
|
-
if (i && i.
|
|
31
|
-
return
|
|
32
|
-
const s = c.
|
|
33
|
-
if (s.
|
|
34
|
-
|
|
35
|
-
for (const o of s
|
|
29
|
+
const i = r.l();
|
|
30
|
+
if (i && i.ge(t))
|
|
31
|
+
return E.info(`Custom Event "${t}" is blocklisted, ignoring.`), !1;
|
|
32
|
+
const s = c.rt(m.CustomEvent, { n: t, p: n });
|
|
33
|
+
if (s.W) {
|
|
34
|
+
E.info(`Logged custom event "${t}".`);
|
|
35
|
+
for (const o of s.ue) rt.o().ve(ot.pe, [t, e], o);
|
|
36
36
|
}
|
|
37
|
-
return s.
|
|
37
|
+
return s.W;
|
|
38
38
|
}
|
package/src/Core/log-purchase.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import r from "../managers/braze-instance.js";
|
|
2
2
|
import { MAX_PURCHASE_QUANTITY as or } from "../common/constants.js";
|
|
3
|
-
import { logger as
|
|
4
|
-
import
|
|
5
|
-
import { TriggersProviderFactory as
|
|
3
|
+
import { logger as E, EventTypes as m } from "../../shared-lib/index.js";
|
|
4
|
+
import ot from "../triggers/models/trigger-events.js";
|
|
5
|
+
import { TriggersProviderFactory as rt } from "../triggers/triggers-provider-factory.js";
|
|
6
6
|
import {
|
|
7
|
-
validateCustomProperties as
|
|
8
|
-
validateCustomString as
|
|
7
|
+
validateCustomProperties as nt,
|
|
8
|
+
validateCustomString as mt,
|
|
9
9
|
} from "../util/validation-utils.js";
|
|
10
10
|
import c from "../common/event-logger.js";
|
|
11
11
|
export function logPurchase(e, o, i, n, t) {
|
|
@@ -14,26 +14,26 @@ export function logPurchase(e, o, i, n, t) {
|
|
|
14
14
|
(null == i && (i = "USD"), null == n && (n = 1), null == e || e.length <= 0)
|
|
15
15
|
)
|
|
16
16
|
return (
|
|
17
|
-
|
|
17
|
+
E.error(
|
|
18
18
|
`logPurchase requires a non-empty productId, got "${e}", ignoring.`,
|
|
19
19
|
),
|
|
20
20
|
!1
|
|
21
21
|
);
|
|
22
|
-
if (!
|
|
22
|
+
if (!mt(e, "log purchase", "the purchase name")) return !1;
|
|
23
23
|
if (null == o || isNaN(parseFloat(o.toString())))
|
|
24
24
|
return (
|
|
25
|
-
|
|
25
|
+
E.error(`logPurchase requires a numeric price, got ${o}, ignoring.`), !1
|
|
26
26
|
);
|
|
27
27
|
const s = parseFloat(o.toString()).toFixed(2);
|
|
28
28
|
if (null == n || isNaN(parseInt(n.toString())))
|
|
29
29
|
return (
|
|
30
|
-
|
|
30
|
+
E.error(`logPurchase requires an integer quantity, got ${n}, ignoring.`),
|
|
31
31
|
!1
|
|
32
32
|
);
|
|
33
33
|
const D = parseInt(n.toString());
|
|
34
34
|
if (D < 1 || D > or)
|
|
35
35
|
return (
|
|
36
|
-
|
|
36
|
+
E.error(
|
|
37
37
|
`logPurchase requires a quantity >1 and <${or}, got ${D}, ignoring.`,
|
|
38
38
|
),
|
|
39
39
|
!1
|
|
@@ -216,10 +216,10 @@ export function logPurchase(e, o, i, n, t) {
|
|
|
216
216
|
].indexOf(i)
|
|
217
217
|
)
|
|
218
218
|
return (
|
|
219
|
-
|
|
219
|
+
E.error(`logPurchase requires a valid currencyCode, got ${i}, ignoring.`),
|
|
220
220
|
!1
|
|
221
221
|
);
|
|
222
|
-
const [u, a] =
|
|
222
|
+
const [u, a] = nt(
|
|
223
223
|
t,
|
|
224
224
|
"logPurchase",
|
|
225
225
|
"purchaseProperties",
|
|
@@ -227,13 +227,13 @@ export function logPurchase(e, o, i, n, t) {
|
|
|
227
227
|
"purchase",
|
|
228
228
|
);
|
|
229
229
|
if (!u) return !1;
|
|
230
|
-
const g = r.
|
|
230
|
+
const g = r.l();
|
|
231
231
|
if (g && g.Dr(e))
|
|
232
|
-
return
|
|
233
|
-
const P = c.
|
|
234
|
-
if (P.
|
|
235
|
-
|
|
236
|
-
for (const r of P
|
|
232
|
+
return E.info(`Purchase "${e}" is blocklisted, ignoring.`), !1;
|
|
233
|
+
const P = c.rt(m.Pr, { pid: e, c: i, p: s, q: D, pr: a });
|
|
234
|
+
if (P.W) {
|
|
235
|
+
E.info(`Logged ${D} purchase${D > 1 ? "s" : ""} of "${e}" for ${i} ${s}.`);
|
|
236
|
+
for (const r of P.ue) rt.o().ve(ot.Rr, [e, t], r);
|
|
237
237
|
}
|
|
238
|
-
return P.
|
|
238
|
+
return P.W;
|
|
239
239
|
}
|
package/src/Core/open-session.js
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
import r from "../managers/braze-instance.js";
|
|
2
|
-
import { logger as
|
|
3
|
-
import
|
|
4
|
-
import { TriggersProviderFactory as
|
|
2
|
+
import { logger as E, IndexedDBAdapter as et } from "../../shared-lib/index.js";
|
|
3
|
+
import ot from "../triggers/models/trigger-events.js";
|
|
4
|
+
import { TriggersProviderFactory as rt } from "../triggers/triggers-provider-factory.js";
|
|
5
5
|
export function openSession() {
|
|
6
6
|
if (!r.rr()) return;
|
|
7
|
-
const i = r.
|
|
7
|
+
const i = r.nn();
|
|
8
8
|
if (!i) return;
|
|
9
9
|
i.openSession();
|
|
10
|
-
const t =
|
|
11
|
-
o = new
|
|
12
|
-
o.
|
|
10
|
+
const t = et.Us.Rs,
|
|
11
|
+
o = new et(t, E);
|
|
12
|
+
o.jr(t.Fs.hr, (r, n) => {
|
|
13
13
|
const e = n.lastClick,
|
|
14
14
|
s = n.trackingString;
|
|
15
|
-
|
|
16
|
-
const c = i.
|
|
15
|
+
E.info(`Firing push click trigger from ${s} push click at ${e}`);
|
|
16
|
+
const c = i.kr(e, s),
|
|
17
17
|
g = function () {
|
|
18
|
-
|
|
18
|
+
rt.o().ve(ot.vr, [s], c);
|
|
19
19
|
};
|
|
20
|
-
i
|
|
20
|
+
i.$r(g, g), o.be(t.Fs.hr, r);
|
|
21
21
|
}),
|
|
22
|
-
o.
|
|
23
|
-
i.
|
|
22
|
+
o.Ds(t.Fs.wr, function (r) {
|
|
23
|
+
i.yr(r);
|
|
24
24
|
});
|
|
25
25
|
}
|
package/src/Core/set-logger.js
CHANGED
package/src/Core/wipe-data.js
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import r from "../managers/braze-instance.js";
|
|
2
2
|
import { keys as C } from "../util/code-utils.js";
|
|
3
|
-
import { logger as
|
|
4
|
-
import { BRAZE_MUST_BE_INITIALIZED_ERROR as
|
|
3
|
+
import { logger as E, IndexedDBAdapter as et } from "../../shared-lib/index.js";
|
|
4
|
+
import { BRAZE_MUST_BE_INITIALIZED_ERROR as w } from "../common/constants.js";
|
|
5
5
|
export function wipeData() {
|
|
6
|
-
const o = r.
|
|
7
|
-
if (null == o) return void
|
|
6
|
+
const o = r.p();
|
|
7
|
+
if (null == o) return void E.warn(w);
|
|
8
8
|
o.clearData();
|
|
9
|
-
const t = C(
|
|
9
|
+
const t = C(et.Us);
|
|
10
10
|
for (let o = 0; o < t.length; o++) {
|
|
11
11
|
const n = t[o],
|
|
12
|
-
r =
|
|
13
|
-
new
|
|
12
|
+
r = et.Us[n];
|
|
13
|
+
new et(r, E).clearData();
|
|
14
14
|
}
|
|
15
|
-
if (r.rr()) for (const o of r.
|
|
16
|
-
const n = r.
|
|
15
|
+
if (r.rr()) for (const o of r.lr()) o.clearData(!0);
|
|
16
|
+
const n = r.m();
|
|
17
17
|
n && n.fo();
|
|
18
18
|
}
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
import { logger as
|
|
1
|
+
import { logger as E } from "../../shared-lib/index.js";
|
|
2
2
|
import FeatureFlag from "./feature-flag.js";
|
|
3
3
|
export function newFeatureFlagFromJson(e) {
|
|
4
|
-
if (e[FeatureFlag.ui.
|
|
4
|
+
if (e[FeatureFlag.ui.rs] && "boolean" == typeof e[FeatureFlag.ui.Fe])
|
|
5
5
|
return new FeatureFlag(
|
|
6
|
-
e[FeatureFlag.ui.
|
|
6
|
+
e[FeatureFlag.ui.rs],
|
|
7
7
|
e[FeatureFlag.ui.Fe],
|
|
8
8
|
e[FeatureFlag.ui.we],
|
|
9
9
|
e[FeatureFlag.ui.xe],
|
|
10
10
|
);
|
|
11
|
-
|
|
11
|
+
E.info(`Unable to create feature flag from ${JSON.stringify(e, null, 2)}`);
|
|
12
12
|
}
|
|
13
13
|
export function newFeatureFlagFromSerializedValue(e) {
|
|
14
|
-
if (e[FeatureFlag.
|
|
14
|
+
if (e[FeatureFlag.ss.rs] && "boolean" == typeof e[FeatureFlag.ss.Fe])
|
|
15
15
|
return new FeatureFlag(
|
|
16
|
-
e[FeatureFlag.
|
|
17
|
-
e[FeatureFlag.
|
|
18
|
-
e[FeatureFlag.
|
|
19
|
-
e[FeatureFlag.
|
|
16
|
+
e[FeatureFlag.ss.rs],
|
|
17
|
+
e[FeatureFlag.ss.Fe],
|
|
18
|
+
e[FeatureFlag.ss.we],
|
|
19
|
+
e[FeatureFlag.ss.xe],
|
|
20
20
|
);
|
|
21
|
-
|
|
21
|
+
E.info(
|
|
22
22
|
`Unable to deserialize feature flag from ${JSON.stringify(e, null, 2)}`,
|
|
23
23
|
);
|
|
24
24
|
}
|
|
@@ -1,75 +1,24 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export default class FeatureFlag {
|
|
3
|
-
constructor(
|
|
4
|
-
(
|
|
5
|
-
(this.
|
|
6
|
-
(this.
|
|
7
|
-
(this.trackingString =
|
|
8
|
-
(this.id =
|
|
9
|
-
(this.enabled =
|
|
10
|
-
(this.
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
const i = this.properties[t];
|
|
15
|
-
return null == i ? (this.ye(t), null) : e(i) ? i.value : (this.Pe(r), null);
|
|
16
|
-
}
|
|
17
|
-
getStringProperty(t) {
|
|
18
|
-
return this.he(t, this.Ie, "string");
|
|
19
|
-
}
|
|
20
|
-
getNumberProperty(t) {
|
|
21
|
-
return this.he(t, this.Te, "number");
|
|
22
|
-
}
|
|
23
|
-
getBooleanProperty(t) {
|
|
24
|
-
return this.he(t, this.Ne, "boolean");
|
|
25
|
-
}
|
|
26
|
-
getImageProperty(t) {
|
|
27
|
-
return this.he(t, this.Re, "image");
|
|
28
|
-
}
|
|
29
|
-
getJsonProperty(t) {
|
|
30
|
-
return this.he(t, this.Se, "jsonobject");
|
|
31
|
-
}
|
|
32
|
-
getTimestampProperty(t) {
|
|
33
|
-
return this.he(t, this.Ae, "datetime");
|
|
34
|
-
}
|
|
35
|
-
bt() {
|
|
36
|
-
const t = {};
|
|
37
|
-
return (
|
|
38
|
-
(t[FeatureFlag.es.ds] = this.id),
|
|
39
|
-
(t[FeatureFlag.es.Fe] = this.enabled),
|
|
40
|
-
(t[FeatureFlag.es.we] = this.properties),
|
|
41
|
-
(t[FeatureFlag.es.xe] = this.trackingString),
|
|
42
|
-
t
|
|
43
|
-
);
|
|
44
|
-
}
|
|
45
|
-
Pe(t) {
|
|
46
|
-
N.info(`Property is not of type ${t}.`);
|
|
47
|
-
}
|
|
48
|
-
ye(t) {
|
|
49
|
-
N.info(`${t} not found in feature flag properties.`);
|
|
50
|
-
}
|
|
51
|
-
Ie(t) {
|
|
52
|
-
return "string" === t.type && "string" == typeof t.value;
|
|
53
|
-
}
|
|
54
|
-
Te(t) {
|
|
55
|
-
return "number" === t.type && "number" == typeof t.value;
|
|
56
|
-
}
|
|
57
|
-
Ne(t) {
|
|
58
|
-
return "boolean" === t.type && "boolean" == typeof t.value;
|
|
59
|
-
}
|
|
60
|
-
Re(t) {
|
|
61
|
-
return "image" === t.type && "string" == typeof t.value;
|
|
62
|
-
}
|
|
63
|
-
Se(t) {
|
|
1
|
+
import { PropertiesBase as p } from "../common/properties-base.js";
|
|
2
|
+
export default class FeatureFlag extends p {
|
|
3
|
+
constructor(s, t = !1, i = {}, e) {
|
|
4
|
+
super(i),
|
|
5
|
+
(this.id = s),
|
|
6
|
+
(this.enabled = t),
|
|
7
|
+
(this.trackingString = e),
|
|
8
|
+
(this.id = s),
|
|
9
|
+
(this.enabled = t),
|
|
10
|
+
(this.trackingString = e);
|
|
11
|
+
}
|
|
12
|
+
dt() {
|
|
13
|
+
const s = {};
|
|
64
14
|
return (
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
15
|
+
(s[FeatureFlag.ss.rs] = this.id),
|
|
16
|
+
(s[FeatureFlag.ss.Fe] = this.enabled),
|
|
17
|
+
(s[FeatureFlag.ss.we] = this.properties),
|
|
18
|
+
(s[FeatureFlag.ss.xe] = this.trackingString),
|
|
19
|
+
s
|
|
68
20
|
);
|
|
69
21
|
}
|
|
70
|
-
Ae(t) {
|
|
71
|
-
return "datetime" === t.type && "number" == typeof t.value;
|
|
72
|
-
}
|
|
73
22
|
}
|
|
74
|
-
(FeatureFlag.
|
|
75
|
-
(FeatureFlag.ui = {
|
|
23
|
+
(FeatureFlag.ss = { rs: "id", Fe: "e", we: "pr", xe: "fts" }),
|
|
24
|
+
(FeatureFlag.ui = { rs: "id", Fe: "enabled", we: "properties", xe: "fts" });
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import r from "../managers/braze-instance.js";
|
|
2
2
|
import tr from "./feature-flags-provider.js";
|
|
3
3
|
const nr = {
|
|
4
|
-
|
|
4
|
+
i: !1,
|
|
5
5
|
provider: null,
|
|
6
|
-
|
|
7
|
-
nr.
|
|
6
|
+
o: () => (
|
|
7
|
+
nr.t(),
|
|
8
8
|
nr.provider ||
|
|
9
|
-
((nr.provider = new tr(r.
|
|
9
|
+
((nr.provider = new tr(r.l(), r.m(), r.p(), r.u())), r.v(nr.provider)),
|
|
10
10
|
nr.provider
|
|
11
11
|
),
|
|
12
|
-
|
|
13
|
-
nr.
|
|
12
|
+
t: () => {
|
|
13
|
+
nr.i || (r.g(nr), (nr.i = !0));
|
|
14
14
|
},
|
|
15
15
|
destroy: () => {
|
|
16
|
-
(nr.provider = null), (nr.
|
|
16
|
+
(nr.provider = null), (nr.i = !1);
|
|
17
17
|
},
|
|
18
18
|
};
|
|
19
19
|
export default nr;
|