Closed sberan closed 7 years ago
Hey, thanks for your interest!
I'll admit a typed version of json schema definitely seems pretty cool. :)
I only just realized npm already has a repo by this name, ouch. I should probably have checked. I just put it on here now.
So far the reason I hadn't published yet was that all of this has still been quite experimental, and even on nightlies I think there were still issues including some non-terminating types, which could just make TS hang.
The non-terminating ones should be commented now, while remaining compilation errors may be suppressable using skipLibCheck
.
That may not be practical for your purposes, so we may need to figure something out there.
A consideration for me here is that if I were to comment out any types that might not work yet, it becomes harder to test their functionality. Perhaps separate branches could help there. Alternatively, https://github.com/gcanti/typelevel-ts/ has served as a less experimental variant of this library so far, though the types only partially overlap.
Which types were you currently interested in by the way?
Thanks for throwing a version out there so quickly! I'm mostly interested in the object basics - Omit
, Overwrite
, and Diff
. For now I've just copied them into my project, but it would be great to have them in a place that could be used by others. Maybe it would be worth creating a less experimental version with some of the more obviously useful and fully fleshed out operators?
I'll make sure to check out typelevel-ts
as well, it looks like it may fit the bill.
Thanks for everything you're doing with type-level programming in TypeScript, I'm in awe of what you've done so far and super excited to see where this goes. 💯 🏆
To explain why you're not seeing much activity over here right now, I'd judged the best place where I could resolve problems here to be TypeScript itself by adding the features I'd desperately needed (see https://github.com/Microsoft/TypeScript/pulls/tycho01).
That's partly because I'd originally been motivated in this direction in order to better type Ramda, which kinda badly needs extra features to properly type currying, composition, reduce
and heterogeneous map
.
It does looks like typelevel-ts
already exposes those three. I guess that may leave me some room to still concentrate on the longer-term picture then. I mean, I don't need this library to 'win' -- if TS gets more power we all end up winning anyway.
I'd like to use some of these types in my project (https://github.com/sberan/typed-json-schema) but I'm not seeing it in npm. Think it's ready to publish?