Open utterances-bot opened 3 weeks ago
There are 2 cases not passed: Expect<Equal<Trunc<'.3'>, '0'>> and Expect<Equal<Trunc<'-.3'>, '-0'>>
Here is my solution:
type Tr<T extends string> = T extends `${infer rest}${'.'}${any}`
? rest extends '-'
? '-0'
: rest extends ''
? '0'
: rest
: T
type Trunc<T extends number | string> = Tr<`${T}`>
Trunc
This project is aimed at helping you better understand how the type system works, writing your own utilities, or just having fun with the challenges.
https://ghaiklor.github.io/type-challenges-solutions/en/medium-trunc.html