1 pontos por GN⁺ 2023-07-09 | 1 comentários | Compartilhar no WhatsApp
  • Usuários de TypeScript estão pedindo um recurso que permita gerar informações de tipo em tempo de execução.
  • Sem informações de tipo em tempo de execução, serialização e validação ficam difíceis sem código boilerplate excessivo ou geração de código.
  • Soluções existentes como io-ts e zod não são suficientes para todos os casos de uso.
  • Usuários de TypeScript estão pressionando a equipe do TypeScript a priorizar a solução do problema de serialização e a fornecer orientações ou recomendar bibliotecas.
  • Parece haver um conflito entre os objetivos de design do TypeScript e a necessidade de informações de tipo em tempo de execução.
  • Como os usuários preferem usar interfaces, eles não querem resolver esse problema com decorators.
  • Funções de ordem superior ou recursos semelhantes a F# Type Providers ou C# Source Generators seriam bem-vindos.
  • O autor promete enviar bolo e sorvete para a equipe do TypeScript se eles resolverem esse problema, se possível já no TypeScript 4.3.

1 comentários

 
GN⁺ 2023-07-09
Discussão no Hacker News
  • Discussão sobre pedidos por reflection/tipos em tempo de execução no TypeScript
  • Alguns comentaristas acham que o problema levantado no artigo não está claro e foi apresentado de forma desajeitada.
  • O papel do TypeScript é compilar para JavaScript e não fornecer segurança de tipos em tempo de execução.
  • O projeto TypeScript se esforça para construir anotações de tipo robustas e lógica de validação de tipos em tempo de execução.
  • Alguns comentaristas se opõem a adicionar verificação de tipos em tempo de execução ao TypeScript, argumentando que isso acabaria criando uma nova linguagem sobre o JavaScript.
  • Já existem bibliotecas para validação de tipos em tempo de execução no JavaScript, e o pedido seria tornar uma escolha normativa.
  • Alguns comentaristas preferem usar type guards ou bibliotecas externas para verificação de tipos em tempo de execução.
  • O objetivo de design do TypeScript é ter a mesma semântica de tempo de execução do JavaScript, com exceção dos enums.
  • O ecossistema em torno do TypeScript depende da eliminação completa de tipos, e adicionar tipos em tempo de execução exigiria mudanças significativas nas ferramentas existentes.
  • Alguns comentaristas expressam insatisfação com as limitações do TypeScript em comparação com outras linguagens de tipagem estática.
  • Um comentarista sugere que pedir serialização e desserialização automáticas dos tipos do TypeScript é algo que poderia ser implementado como biblioteca.