UNPKG

@usercentrics/cmp-browser-sdk

Version:
48 lines (47 loc) 2.36 kB
import { IFRAME_METHODS } from './enums'; import { StorageTCF as CrossDomainTcfData, StorageCcpa, StorageSettings } from '../Storage/interfaces'; import { IFrameOptions } from './interfaces'; import { UcDomains } from '../../interfaces'; import { UserSessionData } from '../DataFacade/interfaces'; export default class CrossDomainService { static crossDomainId: string; static cookieBridgeDomain: string; static domainBridgeUri: string; static useEuCdn: boolean; static cookieBridgeAvailable: boolean; static crossDomainAvailable: boolean; private constructor(); static setDomainBridgeUri(domains?: UcDomains | null): void; /** * Get the cross domain bridge URI * * @private */ static getDomainBridgeUri(): string; static init(options?: IFrameOptions, domains?: UcDomains | null): Promise<boolean>; static initIFrame(domain: string, id: string): Promise<boolean>; static setIsCrossDomainAvailable(value: boolean): void; static isCookieBridgeAvailable(): boolean; static setIsCookieBridgeAvailable(value: boolean): void; static isCrossDomainAvailable(): boolean; static getCrossDomainId(): string; static setCrossDomainId(settingsId: string): void; static setCookieBridgeDomain(subDomain: string, scriptPath: string): void; static setUseEuCdn(activate: boolean): void; static createIFrame(domain: string, id: string): HTMLIFrameElement; static removeIFrame(id: string): void; static queryIFrame<T>(domain: string, id: string, method: IFRAME_METHODS, payload?: unknown, crossDomainId?: string): Promise<T>; static appendIFrame(iFrame: HTMLIFrameElement): null | Error; static query<T, DATA>(method: IFRAME_METHODS, data?: DATA): Promise<T>; static getCrossDomainLanguage(): Promise<string>; static setCrossDomainData(data: StorageSettings): Promise<void>; static setCrossDomainCcpaData(data: StorageCcpa): Promise<void>; static getCrossDomainCcpaData(): Promise<StorageCcpa>; static getCrossDomainSessionData(): Promise<UserSessionData>; static getCrossDomainTcfData(): Promise<CrossDomainTcfData>; static setCrossDomainTcfData(data: CrossDomainTcfData): Promise<void>; /** * Helper method to clear the local storage on the iFrame domains */ static clearCrossDomainStorage(): Promise<void>; }