1

Let's say I have next type:

type NumberToString<T extends number> = `${T}`;

Is it possible to infer NumberToString in other direction ?

    type NumberToString<T extends number> = `${T}`;
    type StringToNumber<T extends NumberToString<number>> = T extends `${infer R}` ? R extends number ? R : never : never;
    type Result = StringToNumber<'5'>

type Result = StringToNumber<'5'> // never, but I'd like to be 5

I'm interested in solution without any mapping. It should be completely generic and it should be literal typescript type, not value

I mean, next code should work

type Result = StringToNumber<'9525'> // 9525 as number

I'd willing to bet that it is impossible

0 Answers0