UNPKG

@shopgate/pwa-tracking

Version:

Tracking library for the Shopgate Connect PWA.

8 lines 1.22 kB
import{createSelector}from'reselect';import{createPageviewData}from"../helpers";import getPage,{makeGetRoutePageConfig}from"./page";import getCart from"./cart";import getSearch from"./search";import getFavorites from"./favorites";import{makeGetRouteCategory}from"./category";import{makeGetRouteProduct}from"./product";/** * Creates a selector that retrieves tracking data for the current route. * @returns {Function} */export var makeGetTrackingData=function makeGetTrackingData(){var getRouteCategory=makeGetRouteCategory();var getRouteProduct=makeGetRouteProduct();var getRoutePageConfig=makeGetRoutePageConfig();/** * Selects the combined tracking information. * @param {Object} state The current state. * @returns {Object} The tracking data. */return createSelector(getPage,getCart,getFavorites,getSearch,getRouteCategory,getRouteProduct,getRoutePageConfig,function(state){var props=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};return props.pattern;},function(page,cart,favorites,search,category,product,pageConfig,pattern){return createPageviewData({page:page,cart:cart,favorites:favorites,search:search,category:category,product:product,pageConfig:pageConfig,pattern:pattern});});};