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 ⸱ Проблема Решение

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