@zencemarketing/web-sdk
Version:
ZenceMarketing Web SDK for push notifications, popups, and custom event tracking.
40 lines (31 loc) • 1.14 kB
text/typescript
import { getSdkData, getAuthToken } from "./init.js";
import { logger } from "../index.js";
import { getWebSocketInstance } from "../websocket.js";
async function customEvent(eventName: string, eventData: object, gaId: string) {
if (typeof eventName !== "string") {
logger.error("❌ Invalid eventName: Must be a string");
return;
}
if (typeof gaId !== "string") {
logger.error("❌ Invalid gaId: Must be a string");
return;
}
if (Object.prototype.toString.call(eventData) !== "[object Object]") {
logger.error("❌ Invalid eventData: Must be an object");
return;
}
const sdkData = getSdkData();
sdkData.userID = gaId;
if (sdkData.show_custom_event === "1") {
logger.info("✅ Custom Event is enabled");
let webSocketInstance = getWebSocketInstance(gaId);
webSocketInstance.send("eventData", {
token: getAuthToken(),
...eventData,
"website_url": sdkData.website_url
});
} else {
logger.info("❌ Custom Event is not enabled");
}
}
export { customEvent };