--- layout: default --- # Ejemplo de Zod
```typescript import { z } from "zod"; // Definir el esquema de datos const UserSchema = z.object({ name: z.string(), age: z.number().min(0).max(120), email: z.string().email(), roles: z.array(z.enum(["admin", "user", "guest"])), }); // Inferir el tipo TypeScript automáticamente type User = z.infer; // Validar datos const result = UserSchema.parse({ name: "Juan", age: 30, email: "juan@example.com", roles: ["admin", "user"] }); // ✅ Si los datos son válidos, devuelve el objeto tipado // ❌ Si no, lanza un error con detalles del problema ```