@usercentrics/cmp-browser-sdk
Version:
Usercentrics CMP Browser SDK
39 lines (38 loc) • 1.55 kB
TypeScript
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;
}