Biblioteca de esquemas para TypeScript y ReScript que valida, analiza y codifica datos desde una sola declaración en formatos como JSON, formularios y Protobuf.
samchon/typia
Transformer de TypeScript que compila tipos puros de TypeScript en validadores en tiempo de ejecución, serializadores JSON, codecs de Protocol Buffers y generadores aleatorios.
Alternativa open source a:class-validator
- Estrellas
- 5,962
- Forks
- 233
- Issues abiertos
- 5
- Último commit
- ayer
¿Qué es?
typia convierte tipos de TypeScript en funciones en tiempo de ejecución durante la compilación. Escribes un tipo como typia.is<T>() o typia.assert<T>() y el transformer analiza T durante la compilación y genera un verificador específico, sin necesidad de definir esquemas por separado ni de usar reflexión en tiempo de ejecución.
La biblioteca cubre varias áreas: validadores en tiempo de ejecución (is, assert, validate), una capa mejorada de JSON con generación de esquemas y funciones más rápidas para stringify y parse, generación de mensajes de Protocol Buffers con encode y decode, y un generador de datos aleatorios. También incluye un módulo de llamadas a funciones de LLM que crea esquemas de herramientas a partir de tipos de clase y valida o parsea la salida del modelo.
Typia requiere la cadena de herramientas ttsc en lugar de tsc, ts-node o tsx sin modificaciones, porque las herramientas estándar no aplican la transformación. La integración con bundlers está disponible mediante @ttsc/unplugin para Vite, Next.js, Webpack, Rollup y esbuild.
Funciones clave
- 01Genera verificadores de tipos a partir de tipos puros de TypeScript durante la compilación, sin archivos de esquema.
- 02Ofrece las funciones is, assert y validate para la validación en tiempo de ejecución.
- 03Genera JSON Schema y ofrece funciones type-safe para stringify y parse.
- 04Codifica y decodifica mensajes de Protocol Buffers a partir de tipos de TypeScript.
- 05Crea esquemas de llamadas a funciones para herramientas de LLM y valida la salida del modelo.
- 06Incluye un generador de datos aleatorios basado en tipos de TypeScript.
Casos de uso
- Validar cuerpos de solicitudes de API en un backend de TypeScript sin escribir esquemas por separado.
- Generar serialización JSON rápida para tipos conocidos.
- Crear definiciones de herramientas para llamadas a funciones de LLM a partir de clases de TypeScript.
- Generar datos de prueba a partir de tipos existentes.
Inicio rápido
- 1
Instala typia y la cadena de herramientas ttsc/TypeScript
npm i typia npm i -D ttsc typescript - 2
Compila el proyecto con ttsc (el tsc estándar no aplicará la transformación)
npx ttsc - 3
Ejecuta un script directamente con ttsx
npx ttsx src/index.ts
Antes de usarlo
- Requiere la cadena de herramientas ttsc; tsc estándar, ts-node y tsx no pueden aplicar la transformación.
- Para usarlo con un empaquetador, se necesita el paquete independiente @ttsc/unplugin.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es typia?
- Transformer de TypeScript que compila tipos puros de TypeScript en validadores en tiempo de ejecución, serializadores JSON, codecs de Protocol Buffers y generadores aleatorios. typia convierte tipos de TypeScript en funciones en tiempo de ejecución durante la compilación. Escribes un tipo como typia.is<T>() o typia.assert<T>() y el transformer analiza T durante la compilación y genera un verificador específico, sin necesidad de definir esquemas por separado ni de usar reflexión en tiempo de ejecución.
- ¿typia es gratuito? ¿Qué licencia tiene?
- typia es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿typia sigue mantenido?
- Mantenimiento activo. El último commit de typia fue el 5 nov 2026.
- ¿Para qué puedo usar typia?
- Validar cuerpos de solicitudes de API en un backend de TypeScript sin escribir esquemas por separado. Generar serialización JSON rápida para tipos conocidos. Crear definiciones de herramientas para llamadas a funciones de LLM a partir de clases de TypeScript. Generar datos de prueba a partir de tipos existentes.
- ¿Cómo se instala typia?
- Instala typia y la cadena de herramientas ttsc/TypeScript: npm i typia npm i -D ttsc typescript Compila el proyecto con ttsc (el tsc estándar no aplicará la transformación): npx ttsc Ejecuta un script directamente con ttsx: npx ttsx src/index.ts
- ¿Dónde consigo typia?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/samchon/typia
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Una biblioteca rápida de serialización y validación para Python que codifica y decodifica JSON, MessagePack, YAML y TOML mediante anotaciones de tipos estándar.
Bibliotecas auxiliares de TypeScript para NestJS que generan SDK tipados, documentación de Swagger, pruebas E2E y agentes de LLM con function calling a partir de tus controladores.
Lenguaje declarativo de esquemas que genera modelos de datos seguros en tipos y código RPC para TypeScript, Python, Java, Go, C++ y otros lenguajes a partir de un único archivo .skir.
Genera modelos con tipado fuerte y serializadores en muchos lenguajes a partir de JSON, JSON Schema, TypeScript y consultas GraphQL.
Biblioteca de validación de datos para Python que usa anotaciones de tipos para analizar y validar datos, con un núcleo basado en Rust.