[Typescript] 85. Medium - IsInteger
Please complete type IsInteger<T>, type T inherits from number, if T is an integer return it, otherwise return never.
/* _____________ Your Code Here _____________ */
type IsInteger<T> = `${T & number}` extends `${number}.${number}`
? never
: number extends T
? never
: T;
/* _____________ Test Cases _____________ */
import type { Equal, Expect } from '@type-challenges/utils'
let x = 1
let y = 1 as const
type cases1 = [
Expect<Equal<IsInteger<1>, 1>>,
Expect<Equal<IsInteger<1.1>, never>>,
Expect<Equal<IsInteger<1.0>, 1>>,
Expect<Equal<IsInteger<typeof x>, never>>,
Expect<Equal<IsInteger<typeof y>, 1>>,
]

浙公网安备 33010602011771号