Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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.

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)