4 ms·
I'm viewing this on my phone, so maybe I'm missing something, but isn't this getting all of its typing information from you explicitly declaring a result set `a
by ralusek 6y ago
I'm viewing this on my phone, so maybe I'm missing something, but isn't this getting all of its typing information from you explicitly declaring a result set `as const`, and then subsequently doing `typeof` that const value? How does that help in real world queries, where the result sets are dynamic? Also, how does it help beyond just naturally declaring a result set as const without the use of this library?
- phpnode 6y agooh let's be clear there's no sensible real world use cases of this thing. it's a demonstration of what TS's type system can do
- chrismorgan 6y agoArt is all about making interesting things that serve no functional purpose, though often they have useful byproducts. This is a work of art.
- nikki93 6y agoOne use case of something similar is generating a regular expression matcher at compile time for example. This is what the C++ library https://github.com/hanickadot/compile-time-regular-expressions https://github.com/hanickadot/compile-time-regular-expressio... does. There are a lot of uses of compile-time code. One I have been interested in is generating bindings to other languages or generating serialization code, or even generating bytecodes for VMs with specific bytecodes for accessing your native data structures (instead of adding a level of indirection).
- tobyhinloopen 6y agoThis project allows you to query (transform) type definitions as data to create new type definitions using SQL. Dynamically transforming types could be useful to generate complex types based on other complex types. This project takes it to the extreme by adding an SQL interface to it
- ralusek 6y agoYa I took a look again. It is very strange, but impressive.