import { captureEvent } from "./captureEvent"; import { decryptData } from "./decryptData"; export const getAttributesFromEvent = ( elem: any, ip: any, level?: number ): any => { console.log( "event triggered attribute check at level", level, elem.parentElement ); const res = elem.getAttribute("event-analytics"); if (res) console.log("res", res); if (res) { console.log("Elem", elem.getAttributeNames()); const attrs = elem.getAttributeNames().reduce((acc: any, name: string) => { return { ...acc, [name]: elem.getAttribute(name) }; }, {}); console.log("attrs", attrs, decryptData(attrs["user-data"])); attrs["user-data"] = JSON.parse(decryptData(attrs["user-data"])); captureEvent(attrs, ip); return attrs; } else if (level !== undefined) { if (level > 0) { return getAttributesFromEvent(elem.parentElement, ip, --level); } else { console.log("Not Event Analytics "); return; } } else return getAttributesFromEvent(elem.parentElement, ip); };