Socket
Socket
Sign inDemoInstall

@nuskin/ns-product-lib

Package Overview
Dependencies
Maintainers
5
Versions
491
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@nuskin/ns-product-lib - npm Package Compare versions

Comparing version 2.17.0-cx24-5822.6 to 2.17.0-cx24-5822.7

2

package.json
{
"name": "@nuskin/ns-product-lib",
"version": "2.17.0-cx24-5822.6",
"version": "2.17.0-cx24-5822.7",
"description": "This project contains shared Product models and code between the backend and frontend.",

@@ -5,0 +5,0 @@ "main": "src/index.js",

@@ -110,3 +110,3 @@ const axios = require('axios').default;

market,
locale,
language: locale,
...(okta !== null && { okta }),

@@ -119,18 +119,10 @@ quantity: 1 // set default to 1

const { data } = await graphQlHttpRequest(payload, config);
if (data && data.data &&
data.data.productsById &&
data.data.productsById.products &&
data.data.productsById.products.length) {
//use to get default variant based on requested sku
productsData.products = data.data.productsById.products.map((product,index)=>{
config.sku = ids[index];
const newProduct = mapProduct(product, market, locale, config);
return new Product(newProduct);
})
productsData.count = productsData.products.length;
}
const mappedProducts = mapSkusToProducts(ids,data);
//use to get default variant based on requested sku
mappedProducts.forEach(({sku , product})=>{
config.sku = sku;
const newProduct = mapProduct(product, market, locale, config);
productsData.products.push(new Product(newProduct));
});
productsData.count = productsData.products.length;
} catch (e) {

@@ -151,2 +143,32 @@ console.log(`Unable to fetch products details for SKUs ${ids}`);

/**
* Map skus array to products array
* @param {string[]} skus
* @param {any} products
*/
function mapSkusToProducts(skus , products){
const productsData = [];
if (products?.data?.productsById?.products?.length) {
skus.forEach((sku)=>{
const matchedProducts = products.data.productsById.products.filter((product)=>{
let matched = false;
if(product?.id) {matched = product.id === sku;}
if(product?.variants?.length){
product.variants.forEach((variant)=>{
matched |= variant.sku === sku;
});
}
return matched;
});
if(matchedProducts.length > 0){
productsData.push({ sku: sku , product: matchedProducts[0]});
}
})
}
return productsData;
}
/**
* Map product prices

@@ -153,0 +175,0 @@ * @param {*} product

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc