DISCLAIMER: используя материалы из этого проекта на русском языке, вы автоматически соглашаетесь с тем, что россия это страна-террорист, путин это подзаборный творожок “Диктатор”, а всех на россии нужно изолировать от цивилизованного мира.

Что такое Type Challenges? Type Challenges это проект, основная цель которого, предоставить подборку задач для TypeScript. И в этих задачах есть подвох. А именно, решения этих задач нужно реализовывать используя только систему типов TypeScript. Другими словами, задача считается пройденной в том и только в том случае, если вы сделали “правильный” тип.

Порой такие задачи сложно решить ввиду многих причин. Например, незнание какой-то возможности языка программирования или если вы только начинаете разбираться в типах. И много других причин, которые можно долго перечислять. Чтобы упростить образовательный процесс и помочь вам лучше разобраться в системе типов TypeScript, существует этот ресурс.

Здесь собраны решения большинства задач из проекта Type Challenges. Более того, эти решения подробно и пошагово разобраны. После того как прочитали объяснение к решению задачи, вы найдете небольшую подборку полезных ссылок для более углубленного изучения. Если же удалось решить задачу каким-то другим способом (не так как на сайте) вы можете оставить решение в комментариях.

Если у вас есть какие-то вопросы по решениям, предложения по сайту и прочее - оставляйте их в комментариях или дайте нам знать об этом в репозитории.

Я рекомендую вам начать играться с этим проектом по следующему плану. Начните с уровня сложности “Разогрев” и идите к “Экстремальный” уровню сложности, проблема за проблемой. Сначала откройте задачу и попробуйте решить её своими силами, перейдя по ссылке “Проблема”. Если же у вас не получилось решить задачу, ничего страшного. Возвращайтесь сюда и подсмотрите в решение задачи, перейдя по ссылке “Решение”.

На этом моё вступление в проект заканчивается. Желаю вам приятного времяпровождения за решениями задач!

Разогрев

  1. Hello, World ⸱ Проблема ⸱ Решение

Лёгкий

  1. Awaited ⸱ Проблема ⸱ Решение
  2. Concat ⸱ Проблема ⸱ Решение
  3. Exclude ⸱ Проблема ⸱ Решение
  4. First of Array ⸱ Проблема ⸱ Решение
  5. If ⸱ Проблема ⸱ Решение
  6. Includes ⸱ Проблема ⸱ Решение
  7. Pick ⸱ Проблема ⸱ Решение
  8. Push ⸱ Проблема ⸱ Решение
  9. Readonly ⸱ Проблема ⸱ Решение
  10. Length of Tuple ⸱ Проблема ⸱ Решение
  11. Tuple to Object ⸱ Проблема ⸱ Решение
  12. Unshift ⸱ Проблема ⸱ Решение

Средний

  1. Absolute ⸱ Проблема ⸱ Решение
  2. AnyOf ⸱ Проблема ⸱ Решение
  3. Append Argument ⸱ Проблема ⸱ Решение
  4. Append to Object ⸱ Проблема ⸱ Решение
  5. Capitalize ⸱ Проблема ⸱ Решение
  6. Chainable Options ⸱ Проблема ⸱ Решение
  7. Deep Readonly ⸱ Проблема ⸱ Решение
  8. Diff ⸱ Проблема ⸱ Решение
  9. Drop Char ⸱ Проблема ⸱ Решение
  10. EndsWith ⸱ Проблема ⸱ Решение
  11. Flatten ⸱ Проблема ⸱ Решение
  12. IsNever ⸱ Проблема ⸱ Решение
  13. IsUnion ⸱ Проблема ⸱ Решение
  14. KebabCase ⸱ Проблема ⸱ Решение
  15. Last of Array ⸱ Проблема ⸱ Решение
  16. Length of String ⸱ Проблема ⸱ Решение
  17. Merge ⸱ Проблема ⸱ Решение
  18. MinusOne ⸱ Проблема ⸱ Решение
  19. Mutable ⸱ Проблема ⸱ Решение
  20. Omit ⸱ Проблема ⸱ Решение
  21. Percentage Parser ⸱ Проблема ⸱ Решение
  22. Permutation ⸱ Проблема ⸱ Решение
  23. PickByType ⸱ Проблема ⸱ Решение
  24. Pop ⸱ Проблема ⸱ Решение
  25. Promise.all ⸱ Проблема ⸱ Решение
  26. Readonly 2 ⸱ Проблема ⸱ Решение
  27. Remove Index Signature ⸱ Проблема ⸱ Решение
  28. Replace ⸱ Проблема ⸱ Решение
  29. ReplaceAll ⸱ Проблема ⸱ Решение
  30. ReplaceKeys ⸱ Проблема ⸱ Решение
  31. Get Return Type ⸱ Проблема ⸱ Решение
  32. String to Union ⸱ Проблема ⸱ Решение
  33. Trim ⸱ Проблема ⸱ Решение
  34. Trim Left ⸱ Проблема ⸱ Решение
  35. Tuple to Union ⸱ Проблема ⸱ Решение
  36. Type Lookup ⸱ Проблема ⸱ Решение

Сложный

  1. CamelCase ⸱ Проблема ⸱ Решение

Экстремальный