Repolode
samchon

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. 1

    Instale typia e a toolchain ttsc/TypeScript

    npm i typia npm i -D ttsc typescript
  2. 2

    Compile o projeto com ttsc (o tsc padrão não aplicará a transformação)

    npx ttsc
  3. 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