UNPKG

zod-dbs

Version:

Opinionated Zod schema generator for databases

26 lines (25 loc) 819 B
import { ZodBaseRenderer } from './ZodBaseRenderer.js'; export class Zod3Renderer extends ZodBaseRenderer { constructor() { super(...arguments); this.name = 'Zod3Renderer'; } renderZodType(params) { const renderedType = super.renderZodType(params); // For read fields, we don't apply additional validation or transformations. if (params.isReadField) return renderedType; switch (params.zodType) { case 'email': return 'z.string().email()'; case 'url': return 'z.string().url()'; case 'int': return 'z.number().int()'; case 'uuid': return 'z.string().uuid()'; default: return renderedType; } } }