@shopgate/pwa-webcheckout-shopify
Version:
Webcheckout Shopify library for the Shopgate Connect PWA.
12 lines • 1.91 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{userWillLogin$,userDidLogin$,userWillLogout$}from'@shopgate/pwa-common/streams/user';import{historyRedirect}from'@shopgate/pwa-common/actions/router';import{hasShopifyCheckout}from"../selectors";import login from"../actions/login";import logout from"../actions/logout";import{shopifyDidRespond$}from"../streams";/**
* Shopify subscriptions.
* @param {Function} subscribe The subscribe function.
*/export default function shopify(subscribe){/**
* Don't create any subscriptions if there is no Shopify checkout available.
*/if(!hasShopifyCheckout()){return;}/**
* Gets triggered when the user did log in and a Shopify response was received.
*/var shouldRedirect$=userDidLogin$.zip(shopifyDidRespond$).map(function(_ref){var _ref2=_slicedToArray(_ref,1),first=_ref2[0];return first;});subscribe(shouldRedirect$,function(_ref3){var dispatch=_ref3.dispatch,action=_ref3.action;dispatch(historyRedirect(action.redirect));});/**
* Gets triggered when the user wants to login.
*/subscribe(userWillLogin$,function(_ref4){var dispatch=_ref4.dispatch,action=_ref4.action;dispatch(login(action.user,action.password));});/**
* Gets triggered when the user wants to logout.
*/subscribe(userWillLogout$,function(_ref5){var dispatch=_ref5.dispatch;dispatch(logout());});}