dynamodb-toolbox
Version:
Lightweight and type-safe query builder for DynamoDB and TypeScript.
46 lines (45 loc) • 1.86 kB
JavaScript
;
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;