Guía del Desarrollador: Generador de Esquemas Zod desde JSON (Validación en Tiempo de Ejecución)
Infiera y genere esquemas Zod de TypeScript, definiciones de tipos y reglas de validación anidadas a partir de JSON en bruto.
import { z } from "zod";
// --- Inferred Nested Sub-Schemas ---
OrderCustomerSchema = z.object({
id: z.number().int(),
fullName: z.string(),
email: z.string().email(),
phone: z.string(),
tier: z.string(),
loyaltyPoints: z.number().int(),
});
OrderShippingAddressCoordinatesSchema = z.object({
latitude: z.number(),
longitude: z.number(),
});
OrderShippingAddressSchema = z.object({
street: z.string(),
suite: z.string(),
city: z.string(),
state: z.string(),
postalCode: z.string(),
country: z.string(),
coordinates: OrderShippingAddressCoordinatesSchema,
});
OrderItemsItemSchema = z.object({
sku: z.string(),
title: z.string(),
quantity: z.number().int(),
unitPrice: z.number(),
discount: z.number().nullable(),
tags: z.array(z.string()),
inStock: z.boolean(),
});
OrderPaymentSummarySchema = z.object({
currency: z.string(),
subtotal: z.number().int(),
tax: z.number(),
shippingFee: z.number().int(),
grandTotal: z.number(),
transactionRef: z.string(),
status: z.string(),
});
// --- Root Schema Definition ---
OrderSchema = z.object({
orderId: z.string().uuid(),
orderNumber: z.string(),
createdAt: z.string().datetime(),
isFulfilled: z.boolean(),
customer: OrderCustomerSchema,
shippingAddress: OrderShippingAddressSchema,
items: z.array(OrderItemsItemSchema),
paymentSummary: OrderPaymentSummarySchema,
});
// --- Inferred TypeScript Types ---
OrderCustomer = z.infer<typeof OrderCustomerSchema>;
OrderShippingAddressCoordinates = z.infer<typeof OrderShippingAddressCoordinatesSchema>;
OrderShippingAddress = z.infer<typeof OrderShippingAddressSchema>;
OrderItemsItem = z.infer<typeof OrderItemsItemSchema>;
OrderPaymentSummary = z.infer<typeof OrderPaymentSummarySchema>;
Order = z.infer<typeof OrderSchema>;Inferencia AST 100% del Lado del Cliente
El análisis profundo de JSON y la síntesis de esquemas Zod se ejecutan en su navegador sin enviar datos a ningún servidor.
Tipado Completo de TypeScript y Zod v3
Genera z.object(), z.array() recursivos, detección de uniones y tipos estáticos export type z.infer listos para producción.
Reglas Inteligentes de Formato y Coerción
Detecta automáticamente correos electrónicos, UUID, marcas de tiempo ISO y URLs con restricciones configurables.