in src/logic/BrazeMessages.ts [120:143]
private getFreshMessagesForSlot(targetSlotName: MessageSlotName): Promise<braze.HtmlMessage> {
return new Promise((resolve) => {
const callback = (m: braze.InAppMessage | braze.ControlMessage) => {
// Cast this as we only ever expect it to be an HtmlMessage (subclass of InAppMessage)
const message = m as braze.HtmlMessage;
const { extras } = message;
if (extras && extras.slotName && extras.slotName === targetSlotName) {
this.cache.push(
targetSlotName,
{
message,
id: generateId(),
},
this.errorHandler,
);
resolve(message);
}
};
this.braze.subscribeToInAppMessage(callback);
});
}