Início / TyForge
Biblioteca TypeScript
TyForge

Validação Type-Safe, Result Pattern e DDD para TypeScript

Biblioteca TypeScript para validação de schemas com inferência automática de tipos, error handling funcional via Result pattern, building blocks de Domain-Driven Design, exceções RFC 7807, entre outros. Uma única dependência runtime.

npm i @navegar-sistemas/tyforge
25+ Type Fields
6 Módulos
MIT Licença

O que Está Incluso

01

Result Pattern

Error handling funcional sem exceções em hot paths. ok/err, map, flatMap, fold, match, all, getOrElse, toPromise, entre outros combinadores. Singleton OK_TRUE para zero alocação em validações.

02

Schema Builder

Compile schemas uma vez, reutilize em todas as validações. Inferência automática de tipos de entrada (JSON) e saída (TypeField instances) sem anotações manuais, entre outros.

03

25+ Type Fields

Validadores pré-construídos para email, senha, UUID v7, datas ISO 8601, JWT Bearer, API Key, assinaturas Base64, PEM, entre outros. Cada um com create(), getValue(), toJson() e mais.

04

Domain Models (DDD)

Entity, ValueObject, Aggregate e Dto prontos para uso. Serialização automática com toJson(), comparação por identidade ou estrutura, domain events, entre outros.

05

Exceções RFC 7807

6 tipos especializados: Validation, Business, NotFound, Auth, Db e Unexpected. Cada um com factory methods, lazy stack traces, campo retriable, metadata adicional, entre outros.

06

Leve e Sem Dependências Pesadas

Apenas uuid como dependência runtime. TypeScript 5.7, target ES2022, compatível com Node 18+. Build com tsc + tsc-alias para resolução de paths.

Ideal Para

Devs TypeScript Backend

Construa APIs com validação type-safe, error handling explícito e schemas que inferem tipos automaticamente, entre outros benefícios.

Praticantes de DDD

Entity, ValueObject, Aggregate e Dto prontos para uso com serialização, comparação e domain events integrados.

Equipes com Type Safety

Elimine bugs de validação em tempo de compilação. Schemas compilados garantem que input e output estão sempre tipados corretamente.

Projetos com Error Handling Explícito

Substitua try/catch por Result pattern. Erros são valores tipados que você compõe, transforma e trata de forma funcional.

Perguntas Frequentes

O que é o TyForge?

É uma biblioteca TypeScript que combina validação de schemas com inferência automática de tipos, error handling funcional via Result pattern, building blocks de DDD como Entity, ValueObject e Aggregate, exceções padronizadas RFC 7807, entre outros.

Precisa de Zod ou Yup junto?

Não. O TyForge tem seu próprio Schema Builder com Type Fields que validam e inferem tipos automaticamente. Ele substitui Zod/Yup para validação e ainda adiciona Result pattern, domain models e exceções padronizadas.

Funciona no frontend?

O foco é backend Node.js, mas os módulos de Result pattern, Type Fields e Schema Builder funcionam em qualquer ambiente TypeScript. Os domain models e exceções são mais úteis no backend.

Qual a diferença do Result pattern pra try/catch?

Com try/catch, erros são implícitos — você não sabe quais funções podem falhar nem com quais tipos de erro. Com Result, o retorno da função é explicitamente ok(valor) ou err(erro), com tipo definido. Isso permite composição funcional com map, flatMap, fold, entre outros.

Quais runtimes são suportados?

Node.js 18 ou superior. O build gera CommonJS (ES2022 target) com declarações de tipo (.d.ts). A única dependência runtime é o pacote uuid.

Como contribuir?

O projeto é open source sob licença MIT. Contribuições são bem-vindas via pull requests no GitHub. A documentação de contribuição está disponível no repositório.

Experimente o TyForge

Open source, gratuito e pronto para usar.