dynamodb-toolbox
Version:
Lightweight and type-safe query builder for DynamoDB and TypeScript.
46 lines (45 loc) • 1.9 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.schemaZodFormatter = void 0;
const any_js_1 = require("./any.js");
const anyOf_js_1 = require("./anyOf.js");
const binary_js_1 = require("./binary.js");
const boolean_js_1 = require("./boolean.js");
const item_js_1 = require("./item.js");
const list_js_1 = require("./list.js");
const map_js_1 = require("./map.js");
const null_js_1 = require("./null.js");
const number_js_1 = require("./number.js");
const record_js_1 = require("./record.js");
const set_js_1 = require("./set.js");
const string_js_1 = require("./string.js");
const schemaZodFormatter = (schema, options = {}) => {
switch (schema.type) {
case 'any':
return (0, any_js_1.anyZodFormatter)(schema, options);
case 'null':
return (0, null_js_1.nullZodFormatter)(schema, options);
case 'boolean':
return (0, boolean_js_1.booleanZodFormatter)(schema, options);
case 'number':
return (0, number_js_1.numberZodFormatter)(schema, options);
case 'string':
return (0, string_js_1.getStringZodFormatter)(schema, options);
case 'binary':
return (0, binary_js_1.binaryZodFormatter)(schema, options);
case 'set':
return (0, set_js_1.getSetZodFormatter)(schema, options);
case 'list':
return (0, list_js_1.listZodFormatter)(schema, options);
case 'map':
return (0, map_js_1.mapZodFormatter)(schema, options);
case 'record':
return (0, record_js_1.recordZodFormatter)(schema, options);
case 'anyOf':
return (0, anyOf_js_1.anyOfZodFormatter)(schema, options);
case 'item':
// NOTE: Should not happen
return (0, item_js_1.itemZodFormatter)(schema, options);
}
};
exports.schemaZodFormatter = schemaZodFormatter;