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