Re:TypeScript please give us types
by Nullabillity on Friday July 07, 2023 @05:19PM
(#36638447)
So now you're stuck writing for an awkward inner platform language rather than using the TS syntax itself.
[ Parent
| on HN ]
What's this "awkward inner platform language"? They are asking for a `typescript.generateRuntimeType<T>()` function to be native to the language. Well plenty of libraries provide exactly this syntax today. Here's tst-reflect: `const type = getType<T>()`. Notice any difference?
Wow, i didn't know that this is already possible with type script. seems like there are transformers you can add to typescript that can implement it.
So type script more or less supports the feature they asked for. Just not bundled with the main package, but they provide the interface to get it done with 3rd party transformers.
Re:TypeScript please give us types
by Nullabillity on Friday July 07, 2023 @07:29PM
(#36639631)
But tst-reflect seems to work by effectively building their own forked tsc compiler.
No, they have a plugin into the typescript compiler which uses their API. tsc already exposes all of the info they need.
Re:TypeScript please give us types
by Dylan16807 on Friday July 07, 2023 @09:10PM
(#36640339)
Okay so it's not a forked compiler but it's adding a feature to the compiler.
At which point it makes a lot of sense to ask why that feature shouldn't be merged.
Re:TypeScript please give us types
by auggierose on Saturday July 08, 2023 @04:32AM
(#36642523)
Because of feature creep. I don't need that feature. Don't merge things that can be kept separate. It is called modularity.
Re:TypeScript please give us types
by Nullabillity on Saturday July 08, 2023 @11:44AM
(#36645473)
According to their (tst-reflect's) README, tsc doesn't support plugins. The plugin support comes from a fork called ttsc.