UNPKG

@braze/web-sdk

Version:

Braze SDK for web sites and other JS platforms.

30 lines (29 loc) 1.05 kB
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; }