@shopgate/pwa-common-commerce
Version:
Commerce library for the Shopgate Connect PWA.
7 lines • 1.66 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);}/**
* Check if shipping line should be shown
* @param {Object} cartConfig shippingConfig
* @param {boolean} isUserLoggedIn isUserLoggedIn
* @param {Object} shippingCost shippingCost
* @returns {Object|null}
*/export function getShippingLine(cartConfig){var isUserLoggedIn=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;var shippingCost=arguments.length>2&&arguments[2]!==undefined?arguments[2]:null;if(cartConfig.hideShipping){return null;}var shippingConfig=cartConfig.shipping;if(!isUserLoggedIn){if(shippingConfig.hideAnonymous){return null;}if(shippingConfig.textForAnonymousUsers){return{label:shippingConfig.textForAnonymousUsers};}}if(shippingCost===null){return null;}if(shippingCost.amount===null){if(shippingConfig.textForNoShipping){return{label:shippingConfig.textForNoShipping};}return null;}if(shippingCost.amount===0){if(shippingConfig.hideFreeShipping){return null;}if(shippingConfig.textForFreeShipping){return _extends({label:shippingCost.label||'titles.shipping',amount:shippingConfig.textForFreeShipping},shippingConfig.hint&&{hint:shippingConfig.hint});}return _extends({label:shippingCost.label||'titles.shipping',amount:'shipping.free_short'},shippingConfig.hint&&{hint:shippingConfig.hint});}return _extends({label:shippingCost.label||'titles.shipping',amount:shippingCost.amount},shippingConfig.hint&&{hint:shippingConfig.hint});}