veffect
Version:
powerful TypeScript validation library built on the robust foundation of Effect combining exceptional type safety, high performance, and developer experience. Taking inspiration from Effect's functional principles, VEffect delivers a balanced approach tha
24 lines (23 loc) • 1.34 kB
TypeScript
import { Schema, RefinableSchema, TransformableSchema, DefaultableSchema, NullableSchema, PredicateSchema, CustomErrorsSchema } from '../types';
/**
* Number schema interface
*/
export interface NumberSchema extends Schema<number>, RefinableSchema<number, NumberSchema>, TransformableSchema<number, NumberSchema>, DefaultableSchema<number, NumberSchema>, NullableSchema<number, NumberSchema>, PredicateSchema<number, NumberSchema>, CustomErrorsSchema<number, NumberSchema> {
readonly _tag: 'NumberSchema';
readonly min: (min: number, message?: string) => NumberSchema;
readonly max: (max: number, message?: string) => NumberSchema;
readonly integer: (message?: string) => NumberSchema;
readonly positive: (message?: string) => NumberSchema;
readonly negative: (message?: string) => NumberSchema;
readonly nonnegative: (message?: string) => NumberSchema;
readonly nonpositive: (message?: string) => NumberSchema;
readonly multipleOf: (value: number, message?: string) => NumberSchema;
readonly finite: (message?: string) => NumberSchema;
readonly safe: (message?: string) => NumberSchema;
readonly step: (step: number, message?: string) => NumberSchema;
readonly port: (message?: string) => NumberSchema;
}
/**
* Create a number schema
*/
export declare function number(): NumberSchema;