@braze/web-sdk
Version:
Braze SDK for web sites and other JS platforms.
30 lines (29 loc) • 1.05 kB
JavaScript
import { EventTypes as p, logger as b } from "../../shared-lib/index.js";
import v from "../common/event-logger.js";
import r from "../managers/braze-instance.js";
import ot from "../triggers/models/trigger-events.js";
import { TriggersProviderFactory as rt } from "../triggers/triggers-provider-factory.js";
import { sanitizeEcommerceEvent as re } from "../util/ecommerce-event-validation.js";
export function logEcommerceEvent(e) {
if (!r.rr()) return !1;
if (null == e || "object" != typeof e || null == e.name)
return (
b.error(
'logEcommerceEvent requires an event object with a "name" field.',
),
!1
);
const o = re(e);
if (null == o) return !1;
const t = r.l();
if (t && t.$e(e.name))
return (
b.info(`The eCommerce event "${e.name}" is blocklisted, ignoring.`), !1
);
const n = v.Dt(p.CustomEvent, { n: e.name, p: o });
if (n.lt) {
b.info(`Logged eCommerce event "${e.name}".`);
for (const r of n.Ce) rt.o().Ee(ot.he, [e.name, e.properties], r);
}
return n.lt;
}