@braze/web-sdk
Version:
Braze SDK for web sites and other JS platforms.
105 lines (104 loc) • 2.23 kB
JavaScript
import {
Card,
CaptionedImage,
ClassicCard,
ControlCard,
ImageOnly,
} from "../index.js";
import {
dateFromUnixTimestamp as O,
rehydrateDateAfterJsonization as V,
} from "../../util/date-utils.js";
import { logger as N } from "../../../shared-lib/index.js";
export function newCard(n, e, r, t, o, i, l, u, d, a, w, f, s, m, C, p, c, x) {
let F;
if (e === Card.ds.Ti || e === Card.ds.Ii)
F = new ClassicCard(n, r, t, o, i, l, u, d, a, w, f, s, m, C, p, c);
else if (e === Card.ds.cs)
F = new CaptionedImage(n, r, t, o, i, l, u, d, a, w, f, s, m, C, p, c);
else if (e === Card.ds.ai)
F = new ImageOnly(n, r, o, l, u, d, a, w, f, s, m, C, p, c);
else {
if (e !== Card.ds.ci)
return N.error("Ignoring card with unknown type " + e), null;
F = new ControlCard(n, r, u, a, m, C);
}
return x && (F.test = x), F;
}
export function newCardFromContentCardsJson(n) {
if (n[Card.ui.Ei]) return null;
const e = n[Card.ui.ps],
r = n[Card.ui.hs],
t = n[Card.ui.us],
o = n[Card.ui.ls],
i = n[Card.ui.fs],
l = n[Card.ui.xs],
u = O(n[Card.ui.bs]),
d = u;
let a;
a = n[Card.ui.zs] === Card.oi ? null : O(n[Card.ui.zs]);
return newCard(
e,
r,
t,
o,
i,
l,
d,
u,
null,
a,
n[Card.ui.URL],
n[Card.ui.ks],
n[Card.ui.qs],
n[Card.ui.vs],
n[Card.ui.ws],
n[Card.ui.ys],
n[Card.ui.As],
n[Card.ui.Bs] || !1,
);
}
export function newCardFromFeedJson(n) {
return newCard(
n.id,
n.type,
n.viewed,
n.title,
n.image,
n.description,
O(n.created),
O(n.updated),
n.categories,
O(n.expires_at),
n.url,
n.domain,
n.aspect_ratio,
n.extras,
!1,
!1,
);
}
export function newCardFromSerializedValue(n) {
return (
newCard(
n[Card.es.ps],
n[Card.es.hs],
n[Card.es.us],
n[Card.es.ls],
n[Card.es.fs],
n[Card.es.xs],
V(n[Card.es.gs]),
V(n[Card.es.bs]),
n[Card.es.js],
V(n[Card.es.zs]),
n[Card.es.URL],
n[Card.es.ks],
n[Card.es.qs],
n[Card.es.vs],
n[Card.es.ws],
n[Card.es.ys],
n[Card.es.As],
n[Card.es.Bs] || !1,
) || void 0
);
}