#108Medium

Trim

Implement `Trim<T>` which takes an exact string type and returns a new string with the whitespace from both ends removed. Master TypeScript template literal types in this medium-level challenge on TypeScriptPro.

In this medium-level challenge, you'll implement Trim<T> which takes an exact string type and returns a new string with the whitespace from both ends removed.

Challenge Instructions: Trim

Medium

Implement Trim<T> which takes an exact string type and returns a new string with the whitespace from both ends removed.

For example

type trimmed = Trim<'  Hello World  '> // expected to be 'Hello World'

Change the following code to make the test cases pass (no type check errors).

Loading...

Video Walkthrough

Detailed Explanation

type Whitespace = ' ' | '\n' | '\t'
 
type Trim<S extends string> = S extends `${Whitespace}${infer After}`
  ? Trim<After>
  : S extends `${infer Before}${Whitespace}`
    ? Trim<Before>
    : S

How it works:

This challenge helps you understand TypeScript's template literal types and how to apply this concept in real-world scenarios.

This challenge is originally from here.

Share this challenge

Join early, learn faster.

Be the first to access the course, unlock exclusive launch bonuses, and get special early-bird pricing before anyone else.

No spam, unsubscribe at any time. We respect your privacy.

Limited Availability

Only 27 Spots left

Early Access

Get 1 month early access

>75% Off

Pre-Launch discount