@shopgate/engage
Version:
Shopgate's ENGAGE library.
4 lines • 4.12 kB
JavaScript
var _excluded=["permission"],_excluded2=["permission"],_excluded3=["permission"],_excluded4=["permission"];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);}function _objectWithoutProperties(source,excluded){if(source==null)return{};var target=_objectWithoutPropertiesLoose(source,excluded);var key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++){key=sourceSymbolKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key];}}return target;}function _objectWithoutPropertiesLoose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key];}return target;}import{softOptInShown$,softOptInSelected$,hardOptInShown$,hardOptInSelected$}from'@shopgate/engage/core/streams';import{track}from'@shopgate/engage/tracking/helpers';var softPushOptInShown$=softOptInShown$.filter(function(_ref){var _action$meta;var action=_ref.action;return(action===null||action===void 0?void 0:(_action$meta=action.meta)===null||_action$meta===void 0?void 0:_action$meta.permission)==='push';});var softPushOptInSelected$=softOptInSelected$.filter(function(_ref2){var _action$meta2;var action=_ref2.action;return(action===null||action===void 0?void 0:(_action$meta2=action.meta)===null||_action$meta2===void 0?void 0:_action$meta2.permission)==='push';});var hardPushOptInShown$=hardOptInShown$.filter(function(_ref3){var _action$meta3;var action=_ref3.action;return(action===null||action===void 0?void 0:(_action$meta3=action.meta)===null||_action$meta3===void 0?void 0:_action$meta3.permission)==='push';});var hardPushOptInSelected$=hardOptInSelected$.filter(function(_ref4){var _action$meta4;var action=_ref4.action;return(action===null||action===void 0?void 0:(_action$meta4=action.meta)===null||_action$meta4===void 0?void 0:_action$meta4.permission)==='push';});/**
* Push opt in tracking subscriptions
* @param {Function} subscribe The subscribe function
*/export default function pushOptInTracking(subscribe){subscribe(softPushOptInShown$,function(_ref5){var action=_ref5.action,getState=_ref5.getState;var _action$meta5=action.meta,permission=_action$meta5.permission,meta=_objectWithoutProperties(_action$meta5,_excluded);track('customEvent',{eventCategory:'softPushOptIn',eventAction:'shown',eventLabel:null,additionalEventParams:_extends({eventName:'softPushOptInShown'},meta)},getState());});subscribe(softPushOptInSelected$,function(_ref6){var action=_ref6.action,getState=_ref6.getState;var selection=action.selection,_action$meta6=action.meta,permission=_action$meta6.permission,meta=_objectWithoutProperties(_action$meta6,_excluded2);track('customEvent',{eventCategory:'softPushOptIn',eventAction:'decision',eventLabel:selection,additionalEventParams:_extends({eventName:'softPushOptInSelected',selection:selection},meta)},getState());});subscribe(hardPushOptInShown$,function(_ref7){var action=_ref7.action,getState=_ref7.getState;var _action$meta7=action.meta,permission=_action$meta7.permission,meta=_objectWithoutProperties(_action$meta7,_excluded3);track('customEvent',{eventCategory:'hardPushOptIn',eventAction:'shown',eventLabel:null,additionalEventParams:_extends({eventName:'hardPushOptInShown'},meta)},getState());});subscribe(hardPushOptInSelected$,function(_ref8){var action=_ref8.action,getState=_ref8.getState;var selection=action.selection,_action$meta8=action.meta,permission=_action$meta8.permission,meta=_objectWithoutProperties(_action$meta8,_excluded4);track('customEvent',{eventCategory:'hardPushOptIn',eventAction:'decision',eventLabel:selection,additionalEventParams:_extends({eventName:'hardPushOptInSelected',selection:selection},meta)},getState());});}