UNPKG

dynamodb-toolbox

Version:

Lightweight and type-safe query builder for DynamoDB and TypeScript.

46 lines (45 loc) 1.9 kB
"use strict"; 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;