@shopgate/pwa-tracking
Version:
Tracking library for the Shopgate Connect PWA.
8 lines • 1.31 kB
JavaScript
function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};return _extends.apply(this,arguments);}import{favoritesDidAddItem$}from'@shopgate/pwa-common-commerce/favorites/streams';import getPage from"../selectors/page";import{track}from"../helpers/index";import{getProductFormatted}from"../selectors/product";/**
* Favorites tracking subscriptions.
* @param {Function} subscribe The subscribe function.
*/export default function favorites(subscribe){subscribe(favoritesDidAddItem$,function(_ref){var getState=_ref.getState,action=_ref.action;var state=getState();var page=getPage(state);var productId=action.productId;productId=[].concat(productId);// cast to array
var favouriteListProducts=productId.map(function(id){var product=getProductFormatted(state,{productId:id});return _extends({},product,{// eslint-disable-next-line camelcase
unit_amount_net:product.amount.net*100,// eslint-disable-next-line camelcase
unit_amount_with_tax:product.amount.gross*100,// eslint-disable-next-line camelcase
currency_id:product.amount.currency});});track('addToWishlist',{page:page,favouriteListProducts:favouriteListProducts},state);});}