This repository contains my past Type Challenges solutions - each one crafted in the spare moments I had between work to learn, experiment, and share explanations.
- I no longer have the time (or interest) to solve new challenges or maintain this collection.
- I will not be accepting pull requests or writing any new solutions.
- Issues used for comments will no longer receive responses and may be closed without notice.
That said, all existing solutions remain here for you to read, learn from, and build upon. I hope you find something useful - and that this archive continues to spark your own TypeScript adventures!
High-quality types can help improve projects’ maintainability while avoiding potential bugs.
There are a bunch of outstanding type utility libraries may boosting your works on types, like ts-toolbelt
, utility-types
, SimplyTyped
, etc, which you can already use.
We aim this project at helping you better understand how the type system works, writing your own utilities, or just having fun with the challenges.
We are also trying to form a community that you can ask questions and get answers you have faced in the actual world - they may become part of the challenges!
You can find anything you need on the website. This repository is just a source code and you don’t need to interact with it from here, actually.
But, in case you came here to contribute, then you came to the right place.
Easy!
Just spread the word that there is a project called type-challenges
that gives a lot of interesting challenges to scratch your head on weekends.
In case you didn’t find the solution, there is another project type-challenges-solutions
that explains how to solve them step by step.
If you are wondering how can you contribute to the repository, there are several ways we would like to get your help:
- Do you know Italian, Brazilian, Korean, Chinese, etc? We would like to have another language here, why not?
- Did you find a typo in existing content and want to fix it? Please do so!
- If you are Russian and want to improve something for Russian language - don't.
For these and others matter, if you want to hack in the repository, refer to our contributing guide.
They inspired me to create this project, so give them some credits, would you?
These outstanding people created most content here! Huge thanks to them and any contribution they made.