UNPKG

dynamodb-toolbox

Version:

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

46 lines (45 loc) 1.86 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.schemaZodParser = 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 schemaZodParser = (schema, options = {}) => { switch (schema.type) { case 'any': return (0, any_js_1.anyZodParser)(schema, options); case 'null': return (0, null_js_1.nullZodParser)(schema, options); case 'boolean': return (0, boolean_js_1.booleanZodParser)(schema, options); case 'number': return (0, number_js_1.numberZodParser)(schema, options); case 'string': return (0, string_js_1.getStringZodParser)(schema, options); case 'binary': return (0, binary_js_1.binaryZodParser)(schema, options); case 'set': return (0, set_js_1.getSetZodParser)(schema, options); case 'list': return (0, list_js_1.listZodParser)(schema, options); case 'map': return (0, map_js_1.mapZodParser)(schema, options); case 'record': return (0, record_js_1.recordZodParser)(schema, options); case 'anyOf': return (0, anyOf_js_1.anyOfZodParser)(schema, options); case 'item': // NOTE: Should not happen return (0, item_js_1.itemZodParser)(schema, options); } }; exports.schemaZodParser = schemaZodParser;