UNPKG

@shopgate/pwa-common-commerce

Version:

Commerce library for the Shopgate Connect PWA.

7 lines 1.66 kB
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});}