Implement `Replace<S, From, To>` which replaces the string `From` with `To` in the given string `S`. Master TypeScript template literal types in this medium-level challenge on TypeScriptPro.
In this medium-level challenge, you'll implement Replace<S, From, To> which replaces the string From with To in the given string S - but only once.
Implement Replace<S, From, To> which replace the string From with To once in the given string S
For example
type replaced = Replace<'types are fun!', 'fun', 'awesome'> // expected to be 'types are awesome!'Change the following code to make the test cases pass (no type check errors).
type Replace<
S extends string,
From extends string,
To extends string,
> = From extends ''
? S
: S extends `${infer Before}${From}${infer After}`
? `${Before}${To}${After}`
: SHow it works:
S, From and To to be strings with extends stringFrom extends '' ? S returns the string if From is an empty stringS extends ${infer Before}${From}${infer After} matches the string type and captures the before and after parts of the string? ${Before}${To}${After} returns the string with the From replaced with To: S returns the string if it doesn't contain FromThis 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.
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