Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kiaragrouwstra/typical
playground for type-level primitives in TypeScript
https://github.com/kiaragrouwstra/typical
Last synced: 3 days ago
JSON representation
playground for type-level primitives in TypeScript
- Host: GitHub
- URL: https://github.com/kiaragrouwstra/typical
- Owner: KiaraGrouwstra
- License: mit
- Created: 2017-08-02T05:47:20.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-07-11T20:53:22.000Z (6 months ago)
- Last Synced: 2024-12-28T05:13:01.238Z (10 days ago)
- Language: TypeScript
- Size: 377 KB
- Stars: 173
- Watchers: 12
- Forks: 5
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Typical
Typical is a playground of type-level operations for TypeScript.
It is mostly experimental and not ready to use yet.
For a lib usable today, try one of the [other](https://github.com/tycho01/typical/#similar-projects) type libraries.### [Docs](http://tycho01.github.io/typical/index.html)
### Background?
Typical has had a long-term focus, exploring what we can do with types.
The end goal is to enable type-safe functional programming with e.g. [ramda](http://ramdajs.com/docs/) and [partial lenses](https://github.com/calmm-js/partial.lenses/). Existing [typings](https://github.com/types/npm-ramda/) provide some level of type safety, but not enough.
Front-end engineering is a [royal](https://github.com/reactjs/redux/blob/master/examples/todos/src/actions/index.js) [pain](https://github.com/ngrx/platform/blob/master/example-app/app/books/actions/book.ts), and functional libraries would [save us](https://github.com/calmm-js/kral-todomvc/blob/master/src/todos-meta.js#L17-L24) given proper type inference.### Contributing
- [issues](https://github.com/tycho01/typical/issues/)
- [`tsc` output](https://github.com/tycho01/typical/blob/master/tsc.log)
- [test output](https://github.com/tycho01/typical/blob/master/errors.log)These can be rerun with `npm test`.
### Similar projects
- [`ts-toolbelt`](https://github.com/pirix-gh/ts-toolbelt), a more mature type lib
- [`type-zoo`](https://github.com/pelotom/type-zoo), a modest type lib usable today
- [`typelevel-ts`](https://github.com/gcanti/typelevel-ts), a type lib by [@gcanti](https://github.com/gcanti), author of several FP libs in TS
- [`typepark`](https://github.com/kgtkr/typepark), a new type collection offering tuple manipulation and `Pipe`
- [`type-plus`](https://github.com/unional/type-plus), additional types and types adjusted utilities for TS