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