¿Qué son Prisma y Zod?

Prisma es una herramienta ORM (Mapeo Objeto-Relacional) que utiliza un archivo de esquema para definir la estructura de su base de datos con modelos, campos y relaciones. Zod es una biblioteca de validación de esquemas TypeScript-first que le permite definir validadores de tipos en tiempo de ejecución. Convertir esquemas de Prisma a esquemas de Zod le permite reutilizar las definiciones de modelos de base de datos para la validación de entradas, garantizando consistencia entre la estructura de su base de datos y la lógica de validación en toda su aplicación.

Descripción de la herramienta

Esta herramienta convierte automáticamente definiciones de esquemas Prisma en esquemas de validación Zod. Analiza sus modelos, enumeraciones y tipos de campos Prisma, luego genera los esquemas Zod correspondientes con mapeo de tipos apropiado. La herramienta maneja campos opcionales, arrays y tipos especiales de Prisma, creando esquemas de validación listos para TypeScript que reflejan la estructura de su base de datos.

Características

  • Mapeo automático de tipos: Convierte tipos Prisma (String, Int, DateTime, etc.) a validadores Zod correspondientes
  • Soporte de enumeraciones: Genera esquemas de enumeración Zod a partir de definiciones de enumeración Prisma
  • Manejo de arrays: Convierte correctamente campos de lista Prisma a validadores de array Zod

Mapeos de tipos soportados

  • Stringz.string()
  • Int, Float, Decimalz.number()
  • Booleanz.boolean()
  • DateTimez.date()
  • Jsonz.record(z.any())
  • Bytesz.instanceof(Buffer)
  • BigIntz.bigint()
  • Tipos personalizados/enumeraciones → z.lazy(() => TypeSchema)
  • Listas → z.array()
  • Campos opcionales → .optional()