1 Punkte von GN⁺ 2023-07-09 | 1 Kommentare | Auf WhatsApp teilen
  • TypeScript-Nutzer fordern eine Funktion, mit der sich Runtime-Typinformationen erzeugen lassen.
  • Das Fehlen von Runtime-Typinformationen erschwert Serialisierung und Validierung ohne übermäßigen Boilerplate-Code oder Codegenerierung.
  • Bestehende Lösungen wie io-ts und zod reichen nicht für alle Anwendungsfälle aus.
  • TypeScript-Nutzer drängen darauf, dass das TypeScript-Team diesem Problem Priorität einräumt und Leitlinien bereitstellt oder Bibliotheken empfiehlt, die Serialisierungsprobleme lösen.
  • Es scheint einen Konflikt zwischen den Designzielen von TypeScript und dem Bedarf an Runtime-Typinformationen zu geben.
  • Nutzer möchten dieses Problem nicht mit Decorators lösen, da sie die Verwendung von Interfaces bevorzugen.
  • Higher-Order Functions oder Funktionen ähnlich wie F# Type Providers oder C# Source Generators wären willkommen.
  • Der Autor verspricht, dem TypeScript-Team Kuchen und Eis zu schicken, wenn es dieses Problem löst — möglichst schon in TypeScript 4.3.

1 Kommentare

 
GN⁺ 2023-07-09
Hacker-News-Kommentar
  • Diskussion über die Forderung nach Reflection-/Runtime-Typen in TypeScript
  • Einige Kommentatoren halten die Problemstellung des Artikels für unklar und unbeholfen formuliert.
  • Die Aufgabe von TypeScript ist die Kompilierung nach JavaScript; Runtime-Typsicherheit bietet es nicht.
  • Das TypeScript-Projekt bemüht sich um leistungsfähige Typannotationen und den Aufbau von Logik zur Runtime-Typvalidierung.
  • Einige Kommentatoren lehnen es ab, TypeScript Runtime-Typprüfungen hinzuzufügen, und argumentieren, dass dadurch eine neue Sprache über JavaScript entstünde.
  • Für Runtime-Typvalidierung in JavaScript gibt es bereits bestehende Bibliotheken; die Forderung läuft darauf hinaus, eine normative Wahl zu treffen.
  • Einige Kommentatoren bevorzugen für Runtime-Typprüfungen Type Guards oder externe Bibliotheken.
  • Das Designziel von TypeScript ist, dass es dieselbe Runtime-Semantik wie JavaScript hat, mit Ausnahme von Enums.
  • Das Ökosystem rund um TypeScript ist auf vollständige Typauslöschung angewiesen, und das Hinzufügen von Runtime-Typen würde erhebliche Änderungen an bestehenden Tools erfordern.
  • Einige Kommentatoren äußern Unzufriedenheit über die Einschränkungen von TypeScript im Vergleich zu anderen statisch typisierten Sprachen.
  • Ein Kommentator schlägt vor, dass die Forderung nach automatischer Serialisierung und Deserialisierung von TypeScript-Typen als Bibliothek umgesetzt werden könnte.