UNPKG

zaraz-ts

Version:

Zaraz TS - A type-safe wrapper around the Cloudflare Zaraz Web API.

42 lines 3.11 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getZaraz = void 0; let queue = []; /** * A utility that checks if zaraz exists on the window object. If not it queues * the events until zaraz is initialized. If zaraz is initialized, it flushes * the queue. */ function getZaraz() { if (typeof window === 'undefined') { throw new Error(`Cannot use Zaraz Web API, because window is not defined.`); } if (!window?.zaraz) { // eslint-disable-next-line no-console console.log(`Zaraz Web API is not initialized. Queueing events...`); return { track: (...args) => { queue.push({ method: 'track', arguments: args }); }, set: (...args) => { queue.push({ method: 'set', arguments: args }); }, ecommerce: (...args) => { queue.push({ method: 'ecommerce', arguments: args }); }, }; } if (queue.length > 0) { // eslint-disable-next-line no-console console.log(`Zaraz Web API is initialized. Flushing queue...`); queue.forEach((event) => { window.zaraz[event.method](...event.arguments); }); // eslint-disable-next-line no-console console.log(`Zaraz Web API queue flushed.`); queue = []; // Clear the queue } return window.zaraz; } exports.getZaraz = getZaraz; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXphcmF6LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hlbHBlcnMvZ2V0LXphcmF6LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUtBLElBQUksS0FBSyxHQUFnQixFQUFFLENBQUM7QUFFNUI7Ozs7R0FJRztBQUNILFNBQWdCLFFBQVE7SUFDdEIsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLEVBQUUsQ0FBQztRQUNsQyxNQUFNLElBQUksS0FBSyxDQUFDLDBEQUEwRCxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVELElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDbkIsc0NBQXNDO1FBQ3RDLE9BQU8sQ0FBQyxHQUFHLENBQUMsc0RBQXNELENBQUMsQ0FBQztRQUVwRSxPQUFPO1lBQ0wsS0FBSyxFQUFFLENBQUMsR0FBRyxJQUFlLEVBQUUsRUFBRTtnQkFDNUIsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7WUFDbkQsQ0FBQztZQUNELEdBQUcsRUFBRSxDQUFDLEdBQUcsSUFBZSxFQUFFLEVBQUU7Z0JBQzFCLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ2pELENBQUM7WUFDRCxTQUFTLEVBQUUsQ0FBQyxHQUFHLElBQWUsRUFBRSxFQUFFO2dCQUNoQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUN2RCxDQUFDO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDckIsc0NBQXNDO1FBQ3RDLE9BQU8sQ0FBQyxHQUFHLENBQUMsaURBQWlELENBQUMsQ0FBQztRQUUvRCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDdEIsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBSSxLQUFLLENBQUMsU0FBZ0IsQ0FBQyxDQUFDO1FBQ3pELENBQUMsQ0FBQyxDQUFDO1FBRUgsc0NBQXNDO1FBQ3RDLE9BQU8sQ0FBQyxHQUFHLENBQUMsOEJBQThCLENBQUMsQ0FBQztRQUU1QyxLQUFLLEdBQUcsRUFBRSxDQUFDLENBQUMsa0JBQWtCO0lBQ2hDLENBQUM7SUFFRCxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUM7QUFDdEIsQ0FBQztBQXJDRCw0QkFxQ0MifQ==