Biblioteca de schemas para TypeScript e ReScript que valida, interpreta e codifica dados a partir de uma única declaração, usando formatos como JSON, dados de formulário e Protobuf.
samchon/typia
Transformer de TypeScript que compila tipos puros em validadores de runtime, serializadores JSON, codecs de Protocol Buffer e geradores de dados aleatórios.
Alternativa open source a:class-validator
- Estrelas
- 5,963
- Forks
- 233
- Issues abertas
- 5
- Último commit
- ontem
O que é?
typia transforma tipos TypeScript em funções de runtime durante o build. Você escreve um tipo como typia.is<T>() ou typia.assert<T>(), e o transformer analisa T durante a compilação e gera um verificador dedicado, sem precisar de uma definição de schema separada nem de reflexão em runtime.
A biblioteca abrange várias áreas: validadores de runtime (is, assert, validate), uma camada aprimorada de JSON com geração de schema e funções mais rápidas de stringify e parse, geração de mensagens Protocol Buffer com encode e decode e um gerador de dados aleatórios. Também inclui um módulo de function calling para LLMs, que cria schemas de ferramentas a partir de tipos de classe e valida ou faz o parse da saída do modelo.
Typia exige a toolchain ttsc em vez de tsc, ts-node ou tsx puros, porque essas ferramentas padrão não aplicam a transformação. A integração com bundlers está disponível por meio de @ttsc/unplugin para Vite, Next.js, Webpack, Rollup e esbuild.
Recursos principais
- 01Gera verificadores de tipos a partir de tipos puros de TypeScript durante o build, sem arquivos de schema.
- 02Oferece as funções is, assert e validate para validação em runtime.
- 03Gera JSON Schema e oferece funções type-safe de stringify e parse.
- 04Codifica e decodifica mensagens Protocol Buffer a partir de tipos TypeScript.
- 05Cria schemas de function calling para ferramentas de LLM e valida a saída do modelo.
- 06Inclui um gerador de dados aleatórios baseado em tipos TypeScript.
Casos de uso
- Validar corpos de requisição de API em um backend TypeScript sem criar schemas separados.
- Gerar serialização JSON rápida para tipos conhecidos.
- Criar definições de ferramentas para function calling de LLMs a partir de classes TypeScript.
- Gerar fixtures de teste a partir de tipos existentes.
Início rápido
- 1
Instale typia e a toolchain ttsc/TypeScript
npm i typia npm i -D ttsc typescript - 2
Compile o projeto com ttsc (o tsc padrão não aplicará a transformação)
npx ttsc - 3
Execute um script diretamente com ttsx
npx ttsx src/index.ts
Antes de usar
- Requer a toolchain ttsc; o tsc padrão, o ts-node e o tsx não conseguem aplicar a transformação.
- Para usar com bundlers, é necessário instalar o pacote separado @ttsc/unplugin.
Em coleções
Tópicos
Perguntas frequentes
- O que é typia?
- Transformer de TypeScript que compila tipos puros em validadores de runtime, serializadores JSON, codecs de Protocol Buffer e geradores de dados aleatórios. typia transforma tipos TypeScript em funções de runtime durante o build. Você escreve um tipo como typia.is<T>() ou typia.assert<T>(), e o transformer analisa T durante a compilação e gera um verificador dedicado, sem precisar de uma definição de schema separada nem de reflexão em runtime.
- typia é gratuito? Qual é a licença?
- typia é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- typia ainda é mantido?
- Manutenção ativa. O último commit de typia foi em 6 de nov. de 2026.
- Para que posso usar typia?
- Validar corpos de requisição de API em um backend TypeScript sem criar schemas separados. Gerar serialização JSON rápida para tipos conhecidos. Criar definições de ferramentas para function calling de LLMs a partir de classes TypeScript. Gerar fixtures de teste a partir de tipos existentes.
- Como instalar typia?
- Instale typia e a toolchain ttsc/TypeScript: npm i typia npm i -D ttsc typescript Compile o projeto com ttsc (o tsc padrão não aplicará a transformação): npx ttsc Execute um script diretamente com ttsx: npx ttsx src/index.ts
- Onde consigo typia?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/samchon/typia
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Uma biblioteca rápida de serialização e validação para Python que codifica e decodifica JSON, MessagePack, YAML e TOML usando anotações de tipo padrão.
Bibliotecas auxiliares TypeScript para NestJS que geram SDKs tipados, documentação Swagger, testes E2E e agentes de function calling para LLMs a partir dos seus controllers.
Uma linguagem declarativa de schemas que gera modelos de dados type-safe e código RPC para TypeScript, Python, Java, Go, C++ e outras linguagens a partir de um único arquivo .skir.
Gera modelos tipados e serializadores em várias linguagens a partir de JSON, JSON Schema, TypeScript e consultas GraphQL.
Biblioteca Python de validação de dados que usa type hints para analisar e validar dados, com um core baseado em Rust.