diff --git a/utils/medusa-product.ts b/utils/medusa-product.ts index c505608..51ab2d6 100644 --- a/utils/medusa-product.ts +++ b/utils/medusa-product.ts @@ -20,12 +20,24 @@ export const getAnalysisElementMedusaProductIds = (products: Pick { const value = (product as Product)?.metadata?.analysisElementMedusaProductIds?.replaceAll("'", '"'); const value_variant = (product as Product)?.variant?.metadata?.analysisElementMedusaProductIds?.replaceAll("'", '"'); + + const result: string[] = []; try { - return [...JSON.parse(value as string), ...JSON.parse(value_variant as string)]; + if (value) { + result.push(...JSON.parse(value as string)); + } + } catch (e) { + console.error("Failed to parse analysisElementMedusaProductIds from analysis package variant, possibly invalid format", e); + } + try { + if (value_variant) { + result.push(...JSON.parse(value_variant as string)); + } } catch (e) { console.error("Failed to parse analysisElementMedusaProductIds from analysis package, possibly invalid format", e); - return []; } + + return result; }) .filter(Boolean) as string[];