rivo
Version:
🤖 The ultimate library you need for composable type-level programming in TypeScript, powered by HKT.
24 lines (21 loc) • 533 B
TypeScript
import type { Digit } from "..";
import type { Args, Fn } from "../HKT";
import type { AssertBool } from "../helpers";
/**
* Check if a number is a {@link Digit}.
*
* Sig: `(n: number) => boolean`
*/
export type IsDigit<N extends number> = AssertBool<
number extends N ? boolean
: N extends Digit ? true
: false
>;
/**
* [Fn] Check if a number is a {@link Digit}.
*
* Sig: `(n: number) => boolean`
*/
export default interface IsDigitFn extends Fn<[number], boolean> {
def: ([n]: Args<this>) => IsDigit<typeof n>;
}