Conversor Prisma para Zod
Converta modelos de esquema Prisma para esquemas de validação Zod com inferência de tipos TypeScript
Entrada
Saída
Leia-me
O que são Prisma e Zod?
Prisma é uma ferramenta ORM (Mapeamento Objeto-Relacional) que usa um arquivo de esquema para definir a estrutura do seu banco de dados com modelos, campos e relacionamentos. Zod é uma biblioteca de validação de esquemas TypeScript-first que permite definir validadores de tipo em tempo de execução. Converter esquemas Prisma em esquemas Zod permite reutilizar suas definições de modelo de banco de dados para validação de entrada, garantindo consistência entre a estrutura do banco de dados e a lógica de validação em toda a sua aplicação.
Descrição da ferramenta
Esta ferramenta converte automaticamente definições de esquema Prisma em esquemas de validação Zod. Ela analisa seus modelos, enumerações e tipos de campos Prisma, e então gera os esquemas Zod correspondentes com mapeamento de tipos apropriado. A ferramenta lida com campos opcionais, arrays e tipos especiais Prisma, criando esquemas de validação prontos para TypeScript que espelham a estrutura do seu banco de dados.
Recursos
- Mapeamento automático de tipos: Converte tipos Prisma (String, Int, DateTime, etc.) em validadores Zod correspondentes
- Suporte a enumerações: Gera esquemas de enumeração Zod a partir de definições de enumeração Prisma
- Manipulação de arrays: Converte corretamente campos de lista Prisma em validadores de array Zod
- Campos opcionais: Mantém definições de campos opcionais nos esquemas Zod gerados
- Tipos TypeScript: Gera automaticamente definições de tipo TypeScript usando
z.infer - Comentários de relacionamento: Adiciona comentários para campos de relacionamento que não podem ser convertidos diretamente
- Múltiplos modelos: Processa todos os modelos e enumerações em um único arquivo de esquema Prisma
- Destaque de sintaxe: Editor de código com destaque de sintaxe Prisma e TypeScript
Casos de uso
- Validação de entrada de API: Validar corpos de requisição contra seus modelos de banco de dados
- Validação de formulários: Usar esquemas Zod com bibliotecas de formulário como React Hook Form
- Segurança de tipos: Garantir que a validação em tempo de execução corresponda ao seu esquema de banco de dados
- Geração de código: Gerar automaticamente lógica de validação a partir de seus modelos de banco de dados
- Consistência: Manter esquemas de validação sincronizados com a estrutura do banco de dados
- Resolvers GraphQL: Validar entradas em resolvers de mutação GraphQL
- Suporte a migrações: Atualizar esquemas de validação quando os modelos de banco de dados mudam
Mapeamentos de tipos suportados
String→z.string()Int,Float,Decimal→z.number()Boolean→z.boolean()DateTime→z.date()Json→z.record(z.any())Bytes→z.instanceof(Buffer)BigInt→z.bigint()- Tipos personalizados/enumerações →
z.lazy(() => TypeSchema) - Listas →
z.array() - Campos opcionais →
.optional()