UNPKG

@vymalo/medusa-meilisearch

Version:

🔍 Powerful, lightning-fast search integration for MedusaJS using Meilisearch

39 lines 1.57 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.transformProduct = void 0; const utils_1 = require("@medusajs/utils"); const prefix = 'variant'; const transformProduct = (product) => { const transformedProduct = { ...product }; const initialObj = utils_1.variantKeys.reduce((obj, key) => { obj[`${prefix}_${key}`] = []; return obj; }, {}); initialObj[`${prefix}_options_value`] = []; const flattenedVariantFields = (product.variants || []).reduce((obj, variant) => { for (const k of utils_1.variantKeys) { if (k === 'options' && variant[k]) { const values = variant[k].map((option) => option.value); obj[`${prefix}_options_value`] = obj[`${prefix}_options_value`].concat(values); continue; } const variantVal = variant[k]; variantVal && obj[`${prefix}_${k}`].push(variantVal); } return obj; }, initialObj); transformedProduct.type_value = product.type?.value; transformedProduct.collection_title = product.collection?.title; transformedProduct.collection_handle = product.collection?.handle; transformedProduct.tags_value = product.tags ? product.tags.map((t) => t.value) : []; transformedProduct.categories = (product?.categories || []).map((c) => c.name); return { ...transformedProduct, ...flattenedVariantFields, }; }; exports.transformProduct = transformProduct; //# sourceMappingURL=fn.js.map