1 points par GN⁺ 2023-07-09 | 1 commentaires | Partager sur WhatsApp
  • Les utilisateurs de TypeScript demandent une fonctionnalité permettant de générer des informations de type à l’exécution.
  • L’absence d’informations de type à l’exécution rend la sérialisation et la validation difficiles sans code boilerplate excessif ni génération de code.
  • Les solutions existantes comme io-ts et zod ne suffisent pas pour tous les cas d’usage.
  • Les utilisateurs de TypeScript exhortent l’équipe TypeScript à prioriser la résolution des problèmes de sérialisation et à fournir des orientations ou à recommander des bibliothèques.
  • Il semble exister un conflit entre les objectifs de conception de TypeScript et la nécessité d’informations de type à l’exécution.
  • Les utilisateurs préfèrent utiliser des interfaces et ne souhaitent donc pas résoudre ce problème avec des décorateurs.
  • Des fonctions d’ordre supérieur ou des fonctionnalités similaires aux F# Type Providers ou aux C# Source Generators seraient bien accueillies.
  • L’auteur promet d’envoyer du gâteau et de la glace à l’équipe TypeScript si elle résout ce problème, si possible dès TypeScript 4.3.

1 commentaires

 
GN⁺ 2023-07-09
Commentaire Hacker News
  • Discussion autour de la demande de reflection/types d’exécution dans TypeScript
  • Certains commentateurs estiment que le problème soulevé par l’article n’est ni clair ni bien formulé.
  • Le rôle de TypeScript est de compiler vers JavaScript et non de fournir une sûreté de type à l’exécution.
  • Le projet TypeScript s’efforce de permettre la création d’annotations de type robustes et d’une logique de validation des types à l’exécution.
  • Certains commentateurs s’opposent à l’ajout de vérifications de type à l’exécution dans TypeScript, affirmant que cela reviendrait à créer un nouveau langage au-dessus de JavaScript.
  • Il existe déjà des bibliothèques pour la validation des types à l’exécution en JavaScript, et la demande consiste à imposer un choix normatif.
  • Certains commentateurs préfèrent utiliser des type guards ou des bibliothèques externes pour les vérifications de type à l’exécution.
  • L’objectif de conception de TypeScript est d’avoir les mêmes sémantiques d’exécution que JavaScript, à l’exception des énumérations.
  • L’écosystème autour de TypeScript repose sur un effacement complet des types, et l’ajout de types d’exécution nécessiterait des changements importants dans les outils existants.
  • Certains commentateurs expriment leur frustration face aux limites de TypeScript par rapport à d’autres langages à typage statique.
  • Un commentateur suggère que la sérialisation et la désérialisation automatiques des types TypeScript pourraient être implémentées sous forme de bibliothèque.