UNPKG

@shopgate/pwa-common-commerce

Version:

Commerce library for the Shopgate Connect PWA.

7 lines 1.3 kB
import fetchProductVariants from"./fetchProductVariants";import fetchProductOptions from"./fetchProductOptions";import fetchProduct from"./fetchProduct";import setProductId from"../action-creators/setProductId";import setProductVariantId from"../action-creators/setProductVariantId";/** * Processes the flags of a product and requests additional data if necessary. * @param {Object} product A single product. * @returns {Function} A redux thunk. * @deprecated */var processProductFlags=function processProductFlags(product){return function(dispatch){return new Promise(function(resolve){var id=product.id,_product$flags=product.flags,flags=_product$flags===void 0?{}:_product$flags,baseProductId=product.baseProductId;var _flags$hasVariants=flags.hasVariants,hasVariants=_flags$hasVariants===void 0?false:_flags$hasVariants,_flags$hasOptions=flags.hasOptions,hasOptions=_flags$hasOptions===void 0?false:_flags$hasOptions;// We requested data for a child product. So we have to request also the parent product if(baseProductId){dispatch(fetchProduct(baseProductId));dispatch(setProductId(baseProductId));dispatch(setProductVariantId(id));}if(hasVariants){dispatch(fetchProductVariants(id));}if(hasOptions){dispatch(fetchProductOptions(id));}resolve();});};};export default processProductFlags;