Absolute
Challenge
Implement the Absolute type. A type that take string, number or bigint. The output should be a positive number string
For example
type Test = -100;
type Result = Absolute<Test>; // expected to be "100"
Solution
Zur Lösung dieses Problems müssen wir lediglich prüfen, ob die Zahl / String ein Vorzeichen - aufweist. Man kann mittels Template literal types prüfen, ob der Eingabetyp als Zeichenkette ein Minus in seinem template literal typ hat, und falls ja, einfach die mittels infer erzeugte generische Typ-Variable zurückgeben:
type Absolute<T extends number | string | bigint> = `${T}` extends `-${infer U}`
? U
: `${T}`;