KiaraGrouwstra / typical

playground for type-level primitives in TypeScript
MIT License
173 stars 5 forks source link

publish to npm? #5

Closed sberan closed 7 years ago

sberan commented 7 years ago

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?

KiaraGrouwstra commented 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?

sberan commented 7 years ago

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. 💯 🏆

KiaraGrouwstra commented 7 years ago

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.