UNPKG

@usercentrics/cmp-browser-sdk

Version:
39 lines (38 loc) 1.55 kB
import { CONSENT_ACTION } from '../DataFacade/enums'; import { DataExchangeSetting } from '../SettingsV2/interfaces'; import { DataTransferObject } from '../DataFacade/interfaces'; import { TCFVendor } from '../SettingsV2/interfaces/TCF'; export default class EventDispatcher { private static instance; private dataLayerNames; private windowEventNames; private dataLayer; private blockDataLayerPush; private isUniversalEventTrackingDisabled; private constructor(); static getInstance(): EventDispatcher; /** * When activated, events will be pushed to the data layer * * @param shouldBlock */ setBlockDataLayerPush(shouldBlock: boolean): void; /** * When present, events will not be pushed to the window.uetq * * @param isDisabled */ setUetDisabled(isDisabled: boolean): void; /** * Determine if data layer pushes on deny is enabled */ shouldBlockDataLayerPush(): boolean; static resetInstance(): void; init(dataExchangeSettings: DataExchangeSetting[]): void; setDataLayer(data: Window, dataLayerName: string): void; getDataLayer(): Map<string, any>; dispatch(dataTransferObjects: DataTransferObject[], vendor755?: TCFVendor, isConsentModeEnabled?: boolean, consentAction?: CONSENT_ACTION): void; private isValidDataLayer; pushEventsToDataLayer(dataTransferObjects: DataTransferObject[], vendor755?: TCFVendor, isConsentModeEnabled?: boolean, consentAction?: CONSENT_ACTION): void; private dispatchWindowEvents; }