@mrporter/inseason-analytics
Version:
In Season Analytics Module
69 lines (49 loc) • 1.89 kB
JavaScript
;
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;
}