Zod
Una biblioteca de validación y declaración de schemas para TypeScript que permite validar datos en runtime e inferir tipos automáticamente.
Zod es una biblioteca de validación de datos diseñada específicamente para TypeScript. Permite definir schemas que validan datos en runtime e infieren tipos de TypeScript automáticamente:
import { z } from "zod";
const UsuarioSchema = z.object({
nombre: z.string().min(1),
email: z.string().email(),
edad: z.number().min(0).max(120),
});
// Validar
const resultado = UsuarioSchema.safeParse(datos);
if (resultado.success) {
// resultado.data tiene el tipo inferido
} else {
// resultado.error.errors contiene los errores
}
// Inferir tipo
type Usuario = z.infer<typeof UsuarioSchema>;
Zod es preferido sobre alternativas como Joi o Yup porque la inferencia de tipos elimina la duplicación entre schemas de validación y tipos de TypeScript.