@shopgate/engage
Version:
Shopgate's ENGAGE library.
3 lines • 2.15 kB
JavaScript
function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance");}function _iterableToArrayLimit(arr,i){var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally{try{if(!_n&&_i["return"]!=null)_i["return"]();}finally{if(_d)throw _e;}}return _arr;}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr;}import{main$}from'@shopgate/pwa-common/streams';import{OPEN_PUSH_NOTIFICATION}from'@shopgate/pwa-common/constants/ActionTypes';import{userDidLogout$}from'@shopgate/engage/user';import{addCheckoutCampaign}from"../action-creators";import{checkoutConfirmationDidLeave$}from"../streams";import{clearCheckoutOrder}from"../index";/**
* @param {Function} subscribe Subscribes to an observable.
*/export default function checkout(subscribe){var pushOpened$=main$.filter(function(_ref){var action=_ref.action;return action.type===OPEN_PUSH_NOTIFICATION;});subscribe(checkoutConfirmationDidLeave$,function(_ref2){var dispatch=_ref2.dispatch;dispatch(clearCheckoutOrder());});subscribe(userDidLogout$,function(_ref3){var dispatch=_ref3.dispatch;dispatch(clearCheckoutOrder());});subscribe(pushOpened$,function(_ref4){var dispatch=_ref4.dispatch,action=_ref4.action;var originalNotificationId=action.notificationId;if(!originalNotificationId){return;}var segments=originalNotificationId.split(';');if(segments.length===1){return;}var _segments=_slicedToArray(segments,5),campaignCode=_segments[0],sentTime=_segments[1],notificationId=_segments[2],locale=_segments[3],distributionIndex=_segments[4];var data={channel:'push',sentTime:Number.parseInt(sentTime,10)||undefined,openedTime:Math.round(Date.now()/1000),distributionIndex:null,campaignCode:campaignCode,notificationId:notificationId,locale:locale};if(typeof distributionIndex==='string'){data.distributionIndex=parseInt(distributionIndex,10);}dispatch(addCheckoutCampaign(data));});}