UNPKG

@gorgo/medusa-feed-yandex

Version:

A Medusa plugin that generates a product feed in YML (Yandex Market Language) format

103 lines 7.8 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createOperatorMap = exports.createFindParams = exports.createSelectParams = exports.createLinkBody = exports.createBatchBody = exports.WithAdditionalData = void 0; const zod_1 = require("zod"); /** * Wraps the original schema to a function to accept and merge * additional_data schema */ const WithAdditionalData = (originalSchema, modifyCallback) => { return (additionalDataValidator) => { let schema; if (!additionalDataValidator) { schema = originalSchema.extend({ additional_data: zod_1.z.record(zod_1.z.unknown()).nullish(), }); } else { schema = originalSchema.extend({ additional_data: additionalDataValidator, }); } return modifyCallback ? modifyCallback(schema) : schema; }; }; exports.WithAdditionalData = WithAdditionalData; const createBatchBody = (createValidator, updateValidator, deleteValidator = zod_1.z.string()) => { return zod_1.z.object({ create: zod_1.z.array(createValidator).optional(), update: zod_1.z.array(updateValidator).optional(), delete: zod_1.z.array(deleteValidator).optional(), }); }; exports.createBatchBody = createBatchBody; const createLinkBody = () => { return zod_1.z.object({ add: zod_1.z.array(zod_1.z.string()).optional(), remove: zod_1.z.array(zod_1.z.string()).optional(), }); }; exports.createLinkBody = createLinkBody; const createSelectParams = () => { return zod_1.z.object({ fields: zod_1.z.string().optional(), }); }; exports.createSelectParams = createSelectParams; const createFindParams = ({ offset, limit, order, } = {}) => { const selectParams = (0, exports.createSelectParams)(); return selectParams.merge(zod_1.z.object({ offset: zod_1.z.preprocess((val) => { if (val && typeof val === "string") { return parseInt(val); } return val; }, zod_1.z .number() .optional() .default(offset ?? 0)), limit: zod_1.z.preprocess((val) => { if (val && typeof val === "string") { return parseInt(val); } return val; }, zod_1.z .number() .optional() .default(limit ?? 20)), order: order ? zod_1.z.string().optional().default(order) : zod_1.z.string().optional(), })); }; exports.createFindParams = createFindParams; const createOperatorMap = (type, valueParser) => { if (!type) { type = zod_1.z.string(); } let simpleType = type.optional(); if (valueParser) { simpleType = zod_1.z.preprocess(valueParser, type).optional(); } const arrayType = zod_1.z.array(type).optional(); const unionType = zod_1.z.union([simpleType, arrayType]).optional(); return zod_1.z.union([ unionType, zod_1.z.object({ $eq: unionType, $ne: unionType, $in: arrayType, $nin: arrayType, $like: simpleType, $ilike: simpleType, $re: simpleType, $contains: simpleType, $gt: simpleType, $gte: simpleType, $lt: simpleType, $lte: simpleType, }), ]); }; exports.createOperatorMap = createOperatorMap; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvdXRpbHMvdmFsaWRhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2QkFBd0U7QUFFeEU7OztHQUdHO0FBQ0ksTUFBTSxrQkFBa0IsR0FBRyxDQUNoQyxjQUFpQixFQUNqQixjQUEwRSxFQUMxRSxFQUFFO0lBQ0YsT0FBTyxDQUNMLHVCQUF1RSxFQUN2RSxFQUFFO1FBQ0YsSUFBSSxNQUEyQixDQUFBO1FBRS9CLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1lBQzdCLE1BQU0sR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDO2dCQUM3QixlQUFlLEVBQUUsT0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUU7YUFDakQsQ0FBQyxDQUFBO1FBQ0osQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQztnQkFDN0IsZUFBZSxFQUFFLHVCQUF1QjthQUN6QyxDQUFDLENBQUE7UUFDSixDQUFDO1FBRUQsT0FBTyxjQUFjLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxNQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFBO0lBQzlELENBQUMsQ0FBQTtBQUNILENBQUMsQ0FBQTtBQXJCWSxRQUFBLGtCQUFrQixzQkFxQjlCO0FBRU0sTUFBTSxlQUFlLEdBQUcsQ0FDN0IsZUFBMEIsRUFDMUIsZUFBMEIsRUFDMUIsa0JBQTZCLE9BQUMsQ0FBQyxNQUFNLEVBQUUsRUFDdkMsRUFBRTtJQUNGLE9BQU8sT0FBQyxDQUFDLE1BQU0sQ0FBQztRQUNkLE1BQU0sRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDLFFBQVEsRUFBRTtRQUMzQyxNQUFNLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQyxR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