Logo

TypeScript Challenges

Test your TypeScript skills with our collection of type challenges. From beginner-friendly utility types to extreme advanced scenarios that will push your understanding to the limit.

Filter Challenges

RTK Query named hooks based on endpoint definitions

Hard
Mapped Types
Lookup Types
Template literal

Tagged Union Pattern

Medium
Lookup Types

Named React Hooks

Medium
Mapped Types
Template literal

Type Look Up

Medium
Conditional Types
Distributive Conditional Types

Tuple To Union

Easy
Indexed types

Is Function

Easy
Generics
Conditional Types

Is String

Easy
Generics
Conditional Types

Array: Reverse

Medium
Infer
Conditional Types
Recursion
Variadic Tuple Types

Infer: Function Parameters as a Tuple

Easy
Infer
Conditional Types

Infer: Return Type of Function

Easy
Infer
Conditional Types

Currying 1

Hard
Infer
Recursion

String: Replace All

Medium
Template literal
Recursion

String: Replace

Medium
Template literal

String: Capitalize

Medium
Conditional Types
Template literal
Lookup Types

String: StringToUnion

Medium
Template literal
Recursion

String: EndWith

Medium
Template literal
Recursion

String: StartWith

Medium
Template literal
Recursion

Array: Join

Medium
Template literal
Recursion

String: Drop Char

Medium
Template literal
Recursion

String: SplitEmail

Easy
Template literal

String: Route Path Interpolation As Union Type

Medium
Template literal
Recursion

String: Trim

Medium
Conditional Types
Template literal
Recursion

String: TrimRight

Medium
Conditional Types
Template literal
Recursion

String: TrimLeft

Medium
Conditional Types
Template literal
Recursion

Route Path Interpolation

Hard
Mapped Types
Template literal
Recursion
Infer
Conditional Types

Deep Lookup Object Property By Tuple

Medium
Conditional Types
Mapped Types
Recursion

SplitStringByDots

Medium
Infer
Conditional Types
Template literal
Recursion

NestedPick

Hard
Conditional Types
Mapped Types
Template literal
Recursion
Infer
Variadic Tuple Types

If

Easy
Conditional Types