Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nin-jin/tdtd
Test Driven Type Development workshop assets.
https://github.com/nin-jin/tdtd
Last synced: about 1 month ago
JSON representation
Test Driven Type Development workshop assets.
- Host: GitHub
- URL: https://github.com/nin-jin/tdtd
- Owner: nin-jin
- License: cc0-1.0
- Created: 2020-11-23T13:28:37.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2020-12-03T18:28:23.000Z (about 4 years ago)
- Last Synced: 2024-10-31T11:37:11.549Z (2 months ago)
- Language: TypeScript
- Homepage:
- Size: 259 KB
- Stars: 33
- Watchers: 4
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
# Test Driven Type Development
## [Workshop video stream](https://www.youtube.com/watch?v=KSzZnw7upqM)
## TypeScript types hyerarchy
![](https://habrastorage.org/webt/5t/k3/c6/5tk3c6ersy8tehcgylcomegjy5s.png)
## [ТайпСкрип: Ох уж эта весёлая система типов](https://github.com/nin-jin/HabHub/issues/38) - статья по мотивам
## Plan
- Типо-тернарник.
- Типо-функции ([Classify](types/classify.ts)).
- Наивное сравнение типов.
- Надёжное сравнение типов ([Equal](types/equal.ts)).
- Декларативные и императивные ограничения типа.
- Строгое ограничение типа.
- Типо-ассерты ([Assert, AssertNever](types/assert.ts)).
- Типо-ошибки ([Mistake](types/mistake.ts)).
- Уникальные типы (unique symbol).
- Брендированные типы.
- Типы-отображения.
- Поиск ключей по типам значений.
- Фильтрация объекта по типу свойств ([PickByValue](types/pick-by-value.ts)).
- Поиск всех подклассов.## How to use
[Use git subtree.](https://www.atlassian.com/git/tutorials/git-subtree)
## Other usefull types
- [`$mol_type`](https://github.com/hyoo-ru/mam_mol/tree/master/type)
- [`piotrwitek/utility-types`](https://github.com/piotrwitek/utility-types)
- [`pirix-gh/ts-toolbelt`](https://github.com/pirix-gh/ts-toolbelt)
- [`ksxnodemodules/typescript-tuple`](https://github.com/ksxnodemodules/typescript-tuple)