UNPKG

backpack-ui

Version:
50 lines (45 loc) 1.36 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var prepareDataLayer = function prepareDataLayer() { /** * Makes sure data layer array is set at "window.lp.analytics". * Will use any preexisting parts thereof instead of wiping them out. */ var path = ["lp", "analytics", "dataLayer"]; path.reduce(function (acc, key, i) { var isLastIteration = i === path.length - 1; return acc[key] || (acc[key] = isLastIteration ? [] : {}); }, window); }; var dataLayerPush = exports.dataLayerPush = function dataLayerPush(event) { if (typeof window === "undefined") return; prepareDataLayer(); var _arr = [window.lp.analytics.dataLayer, window.dataLayer]; for (var _i = 0; _i < _arr.length; _i++) { var dl = _arr[_i]; /** * in rizzo-based codebases, lp.analytics.dataLayer is an object; * push to window.dataLayer (if possible) instead. */ if (Array.isArray(dl)) { dl.push(event); break; } } }; var createPromotionClickEvent = exports.createPromotionClickEvent = function createPromotionClickEvent(promotion) { return { /** * Brought over from `lp-analytics`' `src/events/eventCreators.ts` to save * bundle space. */ event: "promotion-click", ecommerce: { promoClick: { promotions: [promotion] } } }; };