type ParseInt<T> = T extends number ? `${T}` extends `${infer Int extends number}.${number}` ? Int : T : T extends "-0" | "-0n" | `${"-" | ""}.${number}` ? 0 : T extends `${infer U extends number}` ? number extends U ? T extends `${infer U extends number}.${number | ""}` ? U : never : `${U}` extends `${infer Int extends number}.${number}` ? Int : U : T extends `${infer U extends bigint}n` ? `${U}` extends `${infer V extends number}` ? V : never : T extends bigint ? ParseInt<`${T}`> : never;Parses a string or number type into a number.
| Type Parameter | Description |
|---|---|
|
|
The type to parse. |
The parsed number type.
type Int = ParseInt<'11'>; // 11