DevToolKits.app
Introducción

Simplifique la validación de JSON con Zod

Descubra cómo automatizar la validación en tiempo de ejecución y la generación de tipos para datos JSON utilizando Zod, una biblioteca de definición de esquemas compatible con TypeScript.

Imagen de validación con Zod

Para ti, que sientes que las definiciones de tipo por sí solas no son suficientes

Has escrito tu código en TypeScript, has organizado perfectamente tus definiciones de tipo y tienes cero errores de compilación. Sin embargo, en tiempo de ejecución, tu aplicación se bloquea porque llegó una estructura de datos inesperada de una API. ¿Te suena familiar?

Lo más importante que debes recordar es que los tipos de TypeScript solo existen en tiempo de compilación; desaparecen una vez que tu código se ejecuta en el navegador. Esto significa que la única forma de estar seguro de que los datos externos son correctos es verificarlos en tiempo de ejecución.

Zod: Llevando la seguridad de tipos al “tiempo de ejecución”

Aquí es donde entra Zod.
Zod te permite definir un “esquema” (un plano) para tus datos y lo valida estrictamente en tiempo de ejecución.

  • Bloquea datos no válidos en la entrada: Si esperas un string pero recibes un null, Zod lanza inmediatamente un error, protegiendo el resto de la lógica de tu aplicación.
  • Obtén definiciones de tipo gratis: Una vez que defines un esquema, puedes extraer automáticamente el tipo de TypeScript correspondiente con z.infer<T>.

Escritura de esquemas sin esfuerzo

Aunque Zod es increíblemente potente, escribir manualmente esquemas complejos para que coincidan con objetos JSON anidados puede ser una tarea tediosa.

Nuestro Generador de JSON a Zod fue creado para eliminar la fricción de la definición de esquemas. Simplemente pega tu JSON y generará instantáneamente el esquema de Zod correspondiente para ti.

Flujo de trabajo básico

  1. Copia el JSON devuelto por tu API.
  2. Pégalo en la herramienta para generar un esquema de Zod (z.object({...})).
  3. Pega el código generado en tu proyecto y ¡empieza a validar con Schema.parse(data)!
import { z } from 'zod';

// Esquema generado por la herramienta
const UserSchema = z.object({
  id: z.number(),
  name: z.string(),
});

// Realiza la verificación en tiempo de ejecución y la extracción de tipos simultáneamente
type User = z.infer<typeof UserSchema>;
const safeData = UserSchema.parse(rawData);

Conclusión

Proteger los límites de tus datos es proteger la estabilidad de tu sistema.
Convierte el “debería estar bien” en un “estabilidad verificada” con Zod. Deja que una herramienta se encargue del trabajo manual de definir el esquema para que puedas concentrarte en construir la lógica principal de tu aplicación.

Related Tools

Anuncio

Anuncio