Browser Globals
sh
npm install -D elevar-data-layer-typessh
yarn add -D elevar-data-layer-typessh
pnpm add -D elevar-data-layer-typessh
bun add -D elevar-data-layer-typessh
deno add -D npm:elevar-data-layer-typesKeys 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);
};