Revision 515: Runtime-Typen fur TypeScript

Published: Feb. 8, 2022, 7 a.m.

b'Marc J. Schmidt (Twitter, Github, Web), Founder bei deepkitIO und\\nTypeScript-Nerd, hat sich Gedanken (und noch einiges mehr als blo\\xdfe Gedanken) zu\\nTypeScript-Runtime-Typen gemacht. In dieser Revision stellt er sich Peters\\nkritischen Fragen, und stellt seine Pl\\xe4ne f\\xfcr eine neue TypeScript-Zukunft vor.\\n\\n\\nSCHAUNOTIZEN\\n\\n[00:01:01] TYPESCRIPT RUNTIME TYPES/REFLECTION\\n\\nTypeScript ist de facto ein Linter und f\\xfcr alles, was zur Laufzeit passieren\\nsoll, braucht es Schema-Validatoren wie zod, die Schema-DSL von Prisma, JSON\\nSchema oder eins der zahlreichen anderen Projekte aus dieser Kategorie. Wenn\\naber auf Client wie Server TypeScript laufen, dann, so Marc, k\\xf6nnten\\nRuntime-Typen die bessere L\\xf6sung sein! Marc und Peter diskutieren den\\nallgemeinen Wert von Typen f\\xfcr allerlei Use Cases, die Limitierungen der\\nAbleitung von TS-Typen aus Runtime-Tools Branded/Nominal Types und Decorators.\\nDer althergebrachten Debatte um Runtime Types/Reflection n\\xe4hren wir uns, indem\\nwie die M\\xf6glichkeiten des Typsystems (Declaration Merging, Control flow analysis\\nund alles, was ts-sql m\\xf6glich macht) und die Eigenheiten des Projektmanagements\\ndes Produkts TypeScript (st\\xe4ndige Breaking Changes, keine Spezifikation)\\ndurchkauen. Wie k\\xf6nnten Runtime Types umgesetzt werden? Marc hat ausf\\xfchrlich\\nausgearbeitet, wie Runtime-Type-Bytecode in der Praxis aussehen k\\xf6nnte! Wir\\nsprechen \\xfcber den Weg zur Umsetzung, den Kampf mit privaten Compiler-Hooks und\\neine m\\xf6gliche Zukunft f\\xfcr Runtime Types/Reflection im Angesicht der offiziellen\\nAnti-Ziele von TypeScript.'