https://ghaiklor.github.io/type-challenges-solutions/en/ English Russkii Ukrayins'ka hangugeo GitHub Type Challenges Solutions What is Type Challenges? Type Challenges is a project developed and maintained by Anthony Fu. The primary goal of the project is to collect and provide interesting challenges for TypeScript. But, there is a nuance in these challenges. You can't use the runtime to solve them. The only place where you need to write the "code" is in type system. So that, Type Challenges are the challenges that must be solved only by using TypeScript type system. These challenges become hard sometimes, especially if you are a beginner in types and TypeScript. So that, this website provides a place where you can find solutions for those challenges with an explanation on how they've been solved. Once you read the explanation, you can find a compiled list of useful references to dive more in depth. In case you solved the challenge in some other way (not like on this website) you can leave it in the comments. If you have any questions, issues, etc, please open an issue in the repository. Now, I'm suggesting to you to start from "Warm Up" and go forwards "Extreme" level, challenge by challenge. First, open the "Challenge" link and try to solve it yourself. In case you couldn't manage, come back here and open the "Solution". With no further ado, take your time and enjoy the challenges! Warm Up 1. Hello, World [?] Challenge [?] Solution Easy 1. Awaited [?] Challenge [?] Solution 2. Concat [?] Challenge [?] Solution 3. Exclude [?] Challenge [?] Solution 4. First of Array [?] Challenge [?] Solution 5. If [?] Challenge [?] Solution 6. Includes [?] Challenge [?] Solution 7. Pick [?] Challenge [?] Solution 8. Push [?] Challenge [?] Solution 9. Readonly [?] Challenge [?] Solution 10. Length of Tuple [?] Challenge [?] Solution 11. Tuple to Object [?] Challenge [?] Solution 12. Unshift [?] Challenge [?] Solution Medium 1. Absolute [?] Challenge [?] Solution 2. AnyOf [?] Challenge [?] Solution 3. Append Argument [?] Challenge [?] Solution 4. Append to Object [?] Challenge [?] Solution 5. CamelCase [?] Challenge [?] Solution 6. Capitalize [?] Challenge [?] Solution 7. Chainable Options [?] Challenge [?] Solution 8. Deep Readonly [?] Challenge [?] Solution 9. Diff [?] Challenge [?] Solution 10. Drop Char [?] Challenge [?] Solution 11. EndsWith [?] Challenge [?] Solution 12. Flatten [?] Challenge [?] Solution 13. IsNever [?] Challenge [?] Solution 14. IsUnion [?] Challenge [?] Solution 15. KebabCase [?] Challenge [?] Solution 16. Last of Array [?] Challenge [?] Solution 17. Length of String [?] Challenge [?] Solution 18. Merge [?] Challenge [?] Solution 19. MinusOne [?] Challenge [?] Solution 20. Mutable [?] Challenge [?] Solution 21. Omit [?] Challenge [?] Solution 22. Percentage Parser [?] Challenge [?] Solution 23. Permutation [?] Challenge [?] Solution 24. PickByType [?] Challenge [?] Solution 25. Pop [?] Challenge [?] Solution 26. Promise.all [?] Challenge [?] Solution 27. Readonly 2 [?] Challenge [?] Solution 28. Remove Index Signature [?] Challenge [?] Solution 29. Replace [?] Challenge [?] Solution 30. ReplaceAll [?] Challenge [?] Solution 31. ReplaceKeys [?] Challenge [?] Solution 32. Get Return Type [?] Challenge [?] Solution 33. String to Union [?] Challenge [?] Solution 34. Trim [?] Challenge [?] Solution 35. Trim Left [?] Challenge [?] Solution 36. Tuple to Union [?] Challenge [?] Solution 37. Type Lookup [?] Challenge [?] Solution Hard Extreme (c) Eugene Obrezkov aka ghaiklor - Powered by Jekyll & whiteglass - Subscribe via RSS