This commit is contained in:
Lukian 2023-06-20 15:28:07 +02:00
parent 68f4b60012
commit 41ae7ff4bd
1010 changed files with 38622 additions and 17071 deletions

View file

@ -1,4 +1,4 @@
import { InspectOptionsStylized } from 'node:util';
import { InspectOptionsStylized } from 'util';
declare class Result<T, E extends Error = Error> {
readonly success: boolean;
@ -301,7 +301,7 @@ declare class ObjectValidator<T extends object, I = UndefinedToOptional<T>> exte
private handleStrictStrategy;
private handlePassthroughStrategy;
}
declare const enum ObjectValidatorStrategy {
declare enum ObjectValidatorStrategy {
Ignore = 0,
Strict = 1,
Passthrough = 2
@ -500,6 +500,7 @@ declare class ArrayValidator<T extends unknown[], I = T[number]> extends BaseVal
}
declare abstract class BaseValidator<T> {
description?: string;
protected parent?: object;
protected constraints: readonly IConstraint<T>[];
protected isValidationEnabled: boolean | (() => boolean) | null;
@ -517,6 +518,7 @@ declare abstract class BaseValidator<T> {
reshape<R extends Result<unknown>, O = InferResultType<R>>(cb: (input: T) => R): BaseValidator<O>;
default(value: Exclude<T, undefined> | (() => Exclude<T, undefined>)): DefaultValidator<Exclude<T, undefined>>;
when<Key extends WhenKey, This extends BaseValidator<any> = this>(key: Key, options: WhenOptions<This, Key>): this;
describe(description: string): this;
run(value: unknown): Result<T, BaseError>;
parse<R extends T = T>(value: unknown): R;
is<R extends T = T>(value: unknown): value is R;
@ -650,7 +652,7 @@ type ExpandSmallerTuples<T extends [...any[]]> = T extends [T[0], ...infer Tail]
type Shift<A extends Array<any>> = ((...args: A) => void) extends (...args: [A[0], ...infer R]) => void ? R : never;
type GrowExpRev<A extends Array<any>, N extends number, P extends Array<Array<any>>> = A['length'] extends N ? A : GrowExpRev<[...A, ...P[0]][N] extends undefined ? [...A, ...P[0]] : A, N, Shift<P>>;
type GrowExp<A extends Array<any>, N extends number, P extends Array<Array<any>>> = [...A, ...A][N] extends undefined ? GrowExp<[...A, ...A], N, [A, ...P]> : GrowExpRev<A, N, P>;
type Tuple<T, N extends number> = number extends N ? Array<T> : N extends 0 ? [] : N extends 1 ? [T] : GrowExp<[T], N, [[]]>;
type Tuple<T, N extends number> = N extends number ? number extends N ? Array<T> : N extends 0 ? [] : N extends 1 ? [T] : GrowExp<[T], N, [[]]> : never;
declare class LazyValidator<T extends BaseValidator<unknown>, R = Unwrap<T>> extends BaseValidator<R> {
private readonly validator;