UNPKG

@braze/web-sdk

Version:

Braze SDK for web sites and other JS platforms.

41 lines (40 loc) 1.23 kB
import { logger as b, EventTypes as p } from "../../shared-lib/index.js"; import v from "../common/event-logger.js"; import r from "../managers/braze-instance.js"; import { keys as C } from "../util/code-utils.js"; import i from "./banner-provider-factory.js"; export function logBannerImpressions(o) { if (!r.rr()) return; if (!o || o.length <= 0) return !1; const n = i.o(), s = n.k(); if (0 === C(s).length) return b.info("Not logging banners impression. No banners exist."), !1; let e = n.Wt(), t = !1; if (Object.keys(e).some((o) => void 0 !== s[o])) { const o = {}; for (const n of Object.keys(e)) { const r = s[n]; r && e[n] && (o[r.id] = !0); } (e = o), (t = !0); } const a = []; for (const n of o) { const o = s[n]; o ? e[o.id] ? b.info( `Not logging banners impression for ID ${n}. This ID was already logged this session.`, ) : ((e[o.id] = !0), a.push(o.id)) : b.info( `Not logging banners impression for ID ${n}. The placement ID did not correspond to any banner.`, ); } if (0 === a.length) return t && n.Mt(e), !1; n.Mt(e); const f = { ids: a }; return v.Dt(p.ro, f).lt; }