@bshg/validation
Version:
Validation Library for TypeScript projects
28 lines (27 loc) • 1.46 kB
TypeScript
import { FnConfig, TypeValidator } from "./base";
import { KeysOfType } from "../utils";
export declare class Numbers<T extends number | undefined = number> extends TypeValidator<T> {
undefined(): Numbers<T | undefined>;
required(options?: FnConfig): Numbers<T>;
min(minValue: number, options?: FnConfig): Numbers<T>;
max(maxValue: number, options?: FnConfig): Numbers<T>;
range(minValue: number, maxValue: number, options?: FnConfig): Numbers<T>;
integer(options?: FnConfig): Numbers<T>;
positive(options?: FnConfig): Numbers<T>;
negative(options?: FnConfig): Numbers<T>;
decimal(options?: FnConfig): Numbers<T>;
multipleOf(divisor: number, options?: FnConfig): Numbers<T>;
betweenExclusive(minValue: number, maxValue: number, options?: FnConfig): Numbers<T>;
even(options?: FnConfig): Numbers<T>;
odd(options?: FnConfig): Numbers<T>;
positiveInteger(options?: FnConfig): Numbers<T>;
negativeInteger(options?: FnConfig): Numbers<T>;
positiveDecimal(options?: FnConfig): Numbers<T>;
negativeDecimal(options?: FnConfig): Numbers<T>;
divisibleBy(divisor: number, options?: FnConfig): Numbers<T>;
perfectSquare(options?: FnConfig): Numbers<T>;
primeNumber(options?: FnConfig): Numbers<T>;
fibonacciNumber(options?: FnConfig): Numbers<T>;
powerOfTwo(options?: FnConfig): Numbers<T>;
as<TO extends Record<string, any>>(key: KeysOfType<TO, number>, options?: FnConfig): this;
}