@nuskin/cs-product-lib 1.6.0 → 1.7.0-it-40382.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/src/csProduct.js +19 -13
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nuskin/cs-product-lib",
3
- "version": "1.6.0",
3
+ "version": "1.7.0-it-40382.1",
4
4
  "description": "Library for pulling and parsing product content (and applying business logic) retrieved from Contentstack",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
package/src/csProduct.js CHANGED
@@ -254,11 +254,11 @@ const csProduct = (props) => {
254
254
  })
255
255
  }
256
256
 
257
- const convertKitToRequiredProducts = async (skuKit, locale) => {
258
- let productBundle = {}
259
- const variantSkus = []
260
- for (let kitItem of skuKit[0].variants) {
261
- const skuData = helpers.getBestSkuData((kitItem.variant || [])[0])
257
+ const convertKitToRequiredProducts = async (skuKit, locale) => {
258
+ let productBundle = {}
259
+ const variantSkus = []
260
+ for (let kitItem of skuKit[0].variants) {
261
+ const skuData = helpers.getBestSkuData((kitItem.variant || [])[0])
262
262
  variantSkus.push((skuData || {}).sku)
263
263
  kitItem.sku = (skuData || {}).sku
264
264
  }
@@ -280,14 +280,20 @@ const csProduct = (props) => {
280
280
  })
281
281
  }
282
282
  }
283
- }
284
- const discounts = skuKit[0].discounts || {}
285
- productBundle.required_products = requiredProducts
286
- productBundle.charge_shipping = skuKit[0].charge_shipping
287
- productBundle.cvdis = discounts.cvDiscount || skuKit[0].cvdis
288
- productBundle.foreign_limit = skuKit[0].foreign_limit
289
- productBundle.grpdis = discounts.grpDiscount || skuKit[0].grpdis
290
- productBundle.is_exclusive = skuKit[0].is_exclusive
283
+ }
284
+ const discounts = skuKit[0].discounts || {}
285
+ const dangerousGoods = requiredProducts.some(({ product }) => {
286
+ const [requiredProduct] = product || []
287
+ const [variant] = requiredProduct?.variants || []
288
+ return variant?.dangerousGoods === true
289
+ })
290
+ productBundle.required_products = requiredProducts
291
+ productBundle.charge_shipping = skuKit[0].charge_shipping
292
+ productBundle.cvdis = discounts.cvDiscount || skuKit[0].cvdis
293
+ productBundle.dangerous_goods = dangerousGoods
294
+ productBundle.foreign_limit = skuKit[0].foreign_limit
295
+ productBundle.grpdis = discounts.grpDiscount || skuKit[0].grpdis
296
+ productBundle.is_exclusive = skuKit[0].is_exclusive
291
297
  productBundle.bundle_id = skuKit[0].legacy_sku || skuKit[0].kit_id
292
298
  productBundle.locale = skuKit[0].locale
293
299
  productBundle.point_discount = skuKit[0].point_discount