dynamodb-toolbox
Version:
Lightweight and type-safe query builder for DynamoDB and TypeScript.
21 lines (20 loc) • 870 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getStringZodFormatter = void 0;
const zod_1 = require("zod");
const utils_js_1 = require("../utils.js");
const utils_js_2 = require("./utils.js");
const getStringZodFormatter = (schema, options = {}) => {
var _a;
let zodFormatter;
const { props } = schema;
const [enumHead, ...enumTail] = (_a = props.enum) !== null && _a !== void 0 ? _a : [];
if (enumHead !== undefined) {
zodFormatter = enumTail.length > 0 ? zod_1.z.enum([enumHead, ...enumTail]) : zod_1.z.literal(enumHead);
}
else {
zodFormatter = zod_1.z.string();
}
return (0, utils_js_2.withDecoding)(schema, options, (0, utils_js_2.withOptional)(schema, options, (0, utils_js_1.withValidate)(schema, zodFormatter)));
};
exports.getStringZodFormatter = getStringZodFormatter;