
¿Qué es Zod?
Zod es una librería de declaración de esquemas y validación pensada primero para TypeScript. Le permite comprobar dinámicamente si los datos devueltos por una API coinciden con sus expectativas mientras extrae simultáneamente tipos de TypeScript, garantizando tanto la confiabilidad en tiempo de ejecución como la seguridad de tipos.
¿Por qué Necesitamos Validación en Tiempo de Ejecución?
La comprobación de tipos de TypeScript solo ocurre en tiempo de compilación. Una vez que su código se está ejecutando en el navegador, no tiene forma de saber si los datos devueltos por una API han cambiado o contienen valores null inesperados. Zod llena este vacío.
Uso Básico
Defina un esquema y procese sus datos:
import { z } from "zod";
const UserSchema = z.object({
id: z.number(),
username: z.string(),
email: z.string().email(),
});
// Extraer tipos automáticamente
type User = z.infer<typeof UserSchema>;
// Validar datos
const result = UserSchema.safeParse(apiData);
if (result.success) {
const user = result.data; // Totalmente tipado
} else {
console.error(result.error);
}
Características Clave de Zod
- Cero Dependencias: Ligero y eficiente.
- Amigable para el Desarrollador: Excelentes mensajes de error y API intuitiva.
- Coerción: Puede convertir cadenas a números o fechas durante la validación.
- Transformación: Limpie o modifique los datos a medida que pasan por el esquema.
Conclusión
Crear esquemas de Zod manualmente a partir de estructuras JSON grandes puede ser tedioso. Usar un convertidor de “JSON a Zod” puede impulsar su desarrollo, proporcionando una base sólida para una validación de datos robusta en sus proyectos TypeScript.