UNPKG

specified

Version:

Type-safe typescript data specification verification

289 lines (288 loc) 7.67 kB
export declare const Constraint: { generic: { oneOf: <T>(...options: T[]) => { version: 1; definition: { name: string; settings: { options: T[]; }; }; eval: (value: T) => { err: { code: string; value: T; allowed: T[]; message: string; } | null; }; }; }; number: { integer: { version: 1; definition: { name: string; }; eval: (value: number) => { err: { code: string; value: number; message: string; } | null; }; }; finite: { version: 1; definition: { name: string; }; eval: (value: number) => { err: { code: string; value: number; message: string; } | null; }; }; above: (lowerLimit: number) => { version: 1; definition: { name: string; settings: { lowerLimit: number; }; }; eval: (value: number) => { err: { code: string; value: number; message: string; } | null; }; }; below: (upperLimit: number) => { version: 1; definition: { name: string; settings: { upperLimit: number; }; }; eval: (value: number) => { err: { code: string; value: number; message: string; } | null; }; }; atLeast: (lowerLimit: number) => { version: 1; definition: { name: string; settings: { lowerLimit: number; }; }; eval: (value: number) => { err: { code: string; value: number; message: string; } | null; }; }; atMost: (upperLimit: number) => { version: 1; definition: { name: string; settings: { upperLimit: number; }; }; eval: (value: number) => { err: { code: string; value: number; message: string; } | null; }; }; }; string: { notEmpty: { version: 1; definition: { name: string; }; eval: (value: string) => { err: { code: string; value: string; message: string; } | null; }; }; length: ({ min, max }: { min?: number | undefined; max: number; } | { min: number; max?: number | undefined; }) => { version: 1; definition: { name: string; settings: { min: number | undefined; max: number | undefined; }; }; eval: (value: string) => { err: { code: string; value: string; message: string; }; } | { err: null; }; }; regex: (re: RegExp, custom?: { errorMessage: string; errorCode: string; }) => { version: 1; definition: { name: string; settings: { expression: string; }; }; eval: (value: string) => { err: { code: string; value: string; allowed: string; message: string; } | null; }; }; startsWith: (prefix: string) => { version: 1; definition: { name: string; settings: { prefix: string; }; }; eval: (value: string) => { err: { code: string; value: string; message: string; } | null; }; }; endsWith: (suffix: string) => { version: 1; definition: { name: string; settings: { suffix: string; }; }; eval: (value: string) => { err: { code: string; value: string; message: string; } | null; }; }; }; map: { size: <T extends {}>({ min, max }: { min?: number | undefined; max: number; } | { min: number; max?: number | undefined; }) => { version: 1; definition: { name: string; settings: { min: number | undefined; max: number | undefined; }; }; eval: (value: T) => { err: { code: string; value: T; message: string; }; } | { err: null; }; }; }; array: { length: <T>({ min, max }: { min?: number | undefined; max: number; } | { min: number; max?: number | undefined; }) => { version: 1; definition: { name: string; settings: { min: number | undefined; max: number | undefined; }; }; eval: (value: T[]) => { err: { code: string; value: T[]; message: string; } | null; }; }; includes: <T>(includedValue: T) => { version: 1; definition: { name: string; settings: { value: T; }; }; eval: (value: T[]) => { err: { code: string; value: T[]; message: string; } | null; }; }; unique: <U, T extends U>(equalsFunc?: (a: U, b: U) => boolean) => { version: 1; definition: { name: string; }; eval: (value: T[]) => { err: { code: string; value: T[]; message: string; }; } | { err: null; }; }; }; };