@mojir/lits
Version:
Lits is a Lisp dialect implemented in TypeScript
67 lines (66 loc) • 1.57 kB
TypeScript
import type { SourceCodeInfo } from '../tokenizer/token';
type SignOptions = {
positive?: true;
negative?: never;
nonPositive?: never;
nonNegative?: never;
zero?: never;
nonZero?: never;
} | {
positive?: never;
negative?: true;
nonPositive?: never;
nonNegative?: never;
zero?: never;
nonZero?: never;
} | {
positive?: never;
negative?: never;
nonPositive?: true;
nonNegative?: never;
zero?: never;
nonZero?: never;
} | {
positive?: never;
negative?: never;
nonPositive?: never;
nonNegative?: true;
zero?: never;
nonZero?: never;
} | {
positive?: never;
negative?: never;
nonPositive?: never;
nonNegative?: never;
zero?: true;
nonZero?: never;
} | {
positive?: never;
negative?: never;
nonPositive?: never;
nonNegative?: never;
zero?: never;
nonZero?: true;
};
type GtOptions = {
gt?: number;
gte?: never;
} | {
gt?: never;
gte?: number;
};
type LtOptions = {
lt?: number;
lte?: never;
} | {
lt?: never;
lte?: number;
};
type NumberOptions = {
integer?: true;
finite?: true;
} & SignOptions & GtOptions & LtOptions;
export declare function isNumber(value: unknown, options?: NumberOptions): value is number;
export declare function assertNumber(value: unknown, sourceCodeInfo?: SourceCodeInfo, options?: NumberOptions): asserts value is number;
export declare function asNumber(value: unknown, sourceCodeInfo: SourceCodeInfo | undefined, options?: NumberOptions): number;
export {};