medusa-plugin-meilisearch-variants-v3
Version:
Meilisearch plugin for Medusa 2 Product Variants
50 lines • 4.56 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.transformVariant = transformVariant;
const types_1 = require("../types");
function transformVariant(variant, options) {
const { i18n, language, fields } = options || {};
const baseVariant = {};
if (fields && Array.isArray(fields)) {
fields.forEach((field) => {
if (field === "deleted_at") {
baseVariant.deleted_at = variant.deleted_at ?? null;
}
else if (variant.hasOwnProperty(field)) {
const value = variant[field];
baseVariant[field] = value === undefined ? null : value;
}
else {
baseVariant[field] = null;
}
});
}
else {
baseVariant.id = variant.id;
baseVariant.sku = variant.sku;
baseVariant.title = variant.title;
baseVariant.product_id = variant.product_id;
baseVariant.created_at = variant.created_at;
baseVariant.updated_at = variant.updated_at;
baseVariant.deleted_at = variant.deleted_at ?? null;
}
if (!i18n || i18n.strategy !== "field-suffix") {
return baseVariant;
}
const translatableFields = (0, types_1.normalizeFieldConfig)(i18n.translatableFields || []);
const result = { ...baseVariant };
translatableFields.forEach((fieldConfig) => {
const { field, languages } = fieldConfig;
const value = variant[field];
if (value && typeof value === "string") {
languages.forEach((lang) => {
const translatedValue = (0, types_1.getTranslation)(variant.translations, field, lang);
const finalValue = translatedValue || value;
const fieldKey = `${field}_${lang}`;
result[fieldKey] = finalValue;
});
}
});
return result;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmb3JtZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9tZWlsaXNlYXJjaC12YXJpYW50cy91dGlscy90cmFuc2Zvcm1lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQW1CQSw0Q0F3REM7QUExRUQsb0NBS2tCO0FBYWxCLFNBQWdCLGdCQUFnQixDQUM5QixPQUEwQixFQUMxQixPQUEwQjtJQUUxQixNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsR0FBRyxPQUFPLElBQUksRUFBRSxDQUFDO0lBQ2pELE1BQU0sV0FBVyxHQUF3QixFQUFFLENBQUM7SUFFNUMsSUFBSSxNQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ3BDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUN2QixJQUFJLEtBQUssS0FBSyxZQUFZLEVBQUUsQ0FBQztnQkFDM0IsV0FBVyxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQztZQUN0RCxDQUFDO2lCQUFNLElBQUksT0FBTyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUN6QyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBZ0MsQ0FBQyxDQUFDO2dCQUN4RCxXQUFXLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDMUQsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDNUIsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztTQUFNLENBQUM7UUFDTixXQUFXLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDNUIsV0FBVyxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDO1FBQzlCLFdBQVcsQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUNsQyxXQUFXLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUM7UUFDNUMsV0FBVyxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDO1FBQzVDLFdBQVcsQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQztRQUM1QyxXQUFXLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDO0lBQ3RELENBQUM7SUFFRCxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssY0FBYyxFQUFFLENBQUM7UUFDOUMsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUVELE1BQU0sa0JBQWtCLEdBQUcsSUFBQSw0QkFBb0IsRUFDN0MsSUFBSSxDQUFDLGtCQUFrQixJQUFJLEVBQUUsQ0FDOUIsQ0FBQztJQUNGLE1BQU0sTUFBTSxHQUFHLEVBQUUsR0FBRyxXQUFXLEVBQUUsQ0FBQztJQUVsQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRTtRQUN6QyxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLFdBQVcsQ0FBQztRQUN6QyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBZ0MsQ0FBQyxDQUFDO1FBRXhELElBQUksS0FBSyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ3ZDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDekIsTUFBTSxlQUFlLEdBQUcsSUFBQSxzQkFBYyxFQUNuQyxPQUFlLENBQUMsWUFBWSxFQUM3QixLQUFLLEVBQ0wsSUFBSSxDQUNMLENBQUM7Z0JBQ0YsTUFBTSxVQUFVLEdBQUcsZUFBZSxJQUFJLEtBQUssQ0FBQztnQkFDNUMsTUFBTSxRQUFRLEdBQUcsR0FBRyxLQUFLLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ3BDLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxVQUFVLENBQUM7WUFDaEMsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDIn0=