UNPKG

@mrporter/inseason-analytics

Version:

In Season Analytics Module

69 lines (49 loc) 1.89 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.setPage = setPage; exports.setUser = setUser; exports.setProduct = setProduct; exports.setCart = setCart; exports.setTransaction = setTransaction; exports.setWishlist = setWishlist; var _deepmerge = require('deepmerge'); var _deepmerge2 = _interopRequireDefault(_deepmerge); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function setPage(newProps) { var page = window.digitalData.page; window.digitalData.page = setObject(page, newProps); } function setUser(newProps) { var user = window.digitalData.user; window.digitalData.user = setObject(user, newProps); var userSetEvent = document.createEvent('Event'); userSetEvent.initEvent('__analytics__user__set__', true, true); document.dispatchEvent(userSetEvent); } function setProduct(newProduct) { var _window$digitalData$p = window.digitalData.product, product = _window$digitalData$p === undefined ? [{}] : _window$digitalData$p; window.digitalData.product = [setObject(product[0], newProduct)]; } function setCart(newProps) { var cart = window.digitalData.cart; window.digitalData.cart = setObject(cart, newProps); } function setTransaction(newProps) { var transaction = window.digitalData.transaction; window.digitalData.transaction = setObject(transaction, newProps); } function setWishlist(newProps) { var wishlist = window.digitalData.wishlist; window.digitalData.wishlist = setObject(wishlist, newProps); } function setObject() { var origProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var newProps = arguments[1]; return (0, _deepmerge2.default)(origProps, newProps, { arrayMerge: overwriteArray }); } function overwriteArray(arr1, arr2) { return arr2; }