Implement `TrimLeft<T>` which takes an exact string type and returns a new string with the whitespace beginning removed. Master advanced TypeScript template literal types in this medium-level challenge on TypeScriptPro.
Implement TrimLeft<T> which takes an exact string type and returns a new string with the whitespace beginning removed. 🎯
In this medium-level challenge, you'll implement trimleft<t> which takes an exact string type and returns a new string with the whitespace beginning removed.. Master advanced TypeScript type manipulation in this medium-level challenge on TypeScriptPro.
This challenge will teach you essential skills for advanced TypeScript development and type-level programming.
Implement TrimLeft<T> which takes an exact string type and returns a new string with the whitespace beginning removed.
For example
type trimmed = TrimLeft<' Hello World '> // expected to be 'Hello World 'Change the following code to make the test cases pass (no type check errors).
This challenge requires understanding of TypeScript's type system.
type Whitespace = ' ' | '\n' | '\t'
type TrimLeft<S extends string> = S extends `${Whitespace}${infer Rest}`
? TrimLeft<Rest>
: SHow it works:
Whitespace that represents all whitespace charactersS to be a string with extends stringS extends ${Whitespace}${infer Rest} matches the string type and captures the rest of the string into Rest? TrimLeft<Rest> recursively calls TrimLeft with the rest of the string: S returns the string if it doesn't start with a whitespace character (base case)This challenge helps you understand TypeScript's advanced type system and how to apply this concept in real-world scenarios.
This challenge is originally from here.
Be the first to access the course, unlock exclusive launch bonuses, and get special early-bird pricing before anyone else.
Only 27 Spots left
Get 1 month early access
Pre-Launch discount