@braze/web-sdk
Version:
Braze SDK for web sites and other JS platforms.
32 lines (31 loc) • 1.02 kB
JavaScript
import { logger as E, EventTypes as m } from "../../shared-lib/index.js";
import c 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.ht();
if (0 === C(s).length)
return E.info("Not logging banners impression. No banners exist."), !1;
const e = n.Tt(),
t = [];
for (const r of o) {
const o = s[r];
o
? e[o.placementId]
? E.info(
`Not logging banners impression for ID ${r}. This ID was already logged this session.`,
)
: ((e[o.placementId] = !0), t.push(o.id))
: E.info(
`Not logging banners impression for ID ${r}. The placement ID did not correspond to any banner.`,
);
}
if (0 === t.length) return !1;
n.Rt(e);
const a = { ids: t };
return c.rt(m.ro, a).W;
}