Skip to content

Browser Globals

sh
npm install -D elevar-data-layer-types
sh
yarn add -D elevar-data-layer-types
sh
pnpm add -D elevar-data-layer-types
sh
bun add -D elevar-data-layer-types
sh
deno add -D npm:elevar-data-layer-types

Keys Set

ts
interface Window {
  ElevarDebugMode?: (isEnabled: boolean) => Promise<void>;
  ElevarInvalidateContext?: () => Promise<void>;
  ElevarClearStorage?: () => Promise<void>;
  ElevarDataLayer?: Array<import("./exports").ElevarEvent>;
  ElevarConsent?: Array<import("./exports").ElevarConsent>;
}

Keys Read

ts
interface Window {
  ElevarUserIdFn?: () => string | Promise<string>;
  ElevarMarketIdFn?: () => string | Promise<string>;
  ElevarTransformFn?: <T extends import("./exports").ElevarEvent>(item: T) => T;
  ElevarForwardFn?: (args: {
    url: string;
    params: URLSearchParams;
    mergedItems: import("./exports").ElevarEvent;
  }) => void | Promise<void>;
  ElevarContextFn?: (context: import("./exports").ElevarContext) => void;
}

Example Utility

ts
type ElevarItem = NonNullable<(typeof window)["ElevarDataLayer"]>[0];

export const pushToElevarDataLayer = (item: ElevarItem) => {
  window.ElevarDataLayer = window.ElevarDataLayer ?? [];
  window.ElevarDataLayer.push(item);
};