yup

  • Version 1.7.0
  • Published
  • 270 kB
  • 4 dependencies
  • MIT license

Install

npm i yup
yarn add yup
pnpm add yup

Overview

Dead simple Object schema validation

Index

Variables

Functions

Classes

Interfaces

Type Aliases

Namespaces

Variables

variable defaultLocale

const defaultLocale: LocaleObject;

    Functions

    function addMethod

    addMethod: {
    <T extends ISchema<any, any, any, any>>(
    schemaType: (...arg: any[]) => T,
    name: string,
    fn: (this: T, ...args: any[]) => T
    ): void;
    <T extends abstract new (...args: any) => ISchema<any, any, any, any>>(
    schemaType: T,
    name: string,
    fn: (this: InstanceType<T>, ...args: any[]) => InstanceType<T>
    ): void;
    };

      function array

      array: typeof create$2;

        function bool

        bool: typeof create$7;

          function boolean

          boolean: typeof create$7;

            function date

            date: typeof create$4;

              function getIn

              getIn: <C = any>(
              schema: any,
              path: string,
              value?: any,
              context?: C
              ) => { schema: ISchema<any> | Reference<any>; parent: any; parentPath: string };

                function isSchema

                isSchema: (obj: any) => obj is ISchema<any, any, any, any>;

                  function lazy

                  lazy: <
                  TSchema extends ISchema<any, TContext, any, any>,
                  TContext extends AnyObject = AnyObject
                  >(
                  builder: (value: any, options: ResolveOptions<TContext>) => TSchema
                  ) => Lazy<InferType<TSchema>, TContext, any>;

                    function mixed

                    mixed: typeof create$8;

                      function number

                      number: typeof create$5;

                        function object

                        object: typeof create$3;

                          function printValue

                          printValue: (value: any, quoteStrings?: boolean) => any;

                            function reach

                            reach: <P extends string, S extends ISchema<any, any, any, any>>(
                            obj: S,
                            path: P,
                            value?: any,
                            context?: any
                            ) => Reference<Get<InferType<S>, P>> | ISchema<Get<InferType<S>, P>, S['__context']>;

                              function ref

                              ref: <TValue = unknown>(
                              key: string,
                              options?: ReferenceOptions<TValue>
                              ) => Reference<TValue>;

                                function setLocale

                                setLocale: (custom: LocaleObject) => void;

                                  function string

                                  string: typeof create$6;

                                    function tuple

                                    tuple: typeof create$1;

                                      Classes

                                      class ArraySchema

                                      class ArraySchema<
                                      TIn extends any[] | null | undefined,
                                      TContext,
                                      TDefault = undefined,
                                      TFlags extends Flags = ''
                                      > extends Schema<TIn, TContext, TDefault, TFlags> {}

                                        constructor

                                        constructor(type?: ISchema<InnerType<TIn>, TContext, any, any>);

                                          property innerType

                                          readonly innerType?: ISchema<InnerType<TIn>, TContext, any, any>;

                                            property spec

                                            spec: ArraySchemaSpec<TIn, TContext>;

                                              method clone

                                              clone: (spec?: SchemaSpec<any>) => this;

                                                method compact

                                                compact: (rejector?: RejectorFn) => this;

                                                  method concat

                                                  concat: {
                                                  <IIn extends any[], IC, ID, IF extends Flags>(
                                                  schema: ArraySchema<IIn, IC, ID, IF>
                                                  ): ArraySchema<
                                                  Concat<TIn, IIn>,
                                                  TContext & IC,
                                                  Extract<IF, 'd'> extends never ? TDefault : ID,
                                                  TFlags | IF
                                                  >;
                                                  (schema: this): this;
                                                  };

                                                    method describe

                                                    describe: (options?: ResolveOptions<TContext>) => SchemaInnerTypeDescription;

                                                      method ensure

                                                      ensure: () => ArraySchema<TIn, TContext, TIn, ToggleDefault<TFlags, TIn>>;

                                                        method json

                                                        json: () => this;
                                                        • Parse an input JSON string to an object

                                                        method length

                                                        length: (
                                                        length: number | Reference<number>,
                                                        message?: Message<{ length: number }>
                                                        ) => this;

                                                          method max

                                                          max: (
                                                          max: number | Reference<number>,
                                                          message?: Message<{ max: number }>
                                                          ) => this;

                                                            method min

                                                            min: (
                                                            min: number | Reference<number>,
                                                            message?: Message<{ min: number }>
                                                            ) => this;

                                                              method of

                                                              of: <U>(
                                                              schema: ISchema<U, TContext>
                                                              ) => ArraySchema<U[] | Optionals<TIn>, TContext, TFlags>;

                                                                class BooleanSchema

                                                                class BooleanSchema<
                                                                TType extends Maybe<boolean> = boolean | undefined,
                                                                TContext = AnyObject,
                                                                TDefault = undefined,
                                                                TFlags extends Flags = ''
                                                                > extends Schema<TType, TContext, TDefault, TFlags> {}

                                                                  constructor

                                                                  constructor();

                                                                    method default

                                                                    default: <D extends TType>(
                                                                    def: DefaultThunk<D, TContext>
                                                                    ) => BooleanSchema<TType, TContext, D, ToggleDefault<TFlags, D>>;

                                                                      method defined

                                                                      defined: (
                                                                      msg?: Message
                                                                      ) => BooleanSchema<Defined<TType>, TContext, TDefault, TFlags>;

                                                                        method isFalse

                                                                        isFalse: (
                                                                        message?: Message<any> | undefined
                                                                        ) => BooleanSchema<false | Optionals<TType>, TContext, TFlags>;

                                                                          method isTrue

                                                                          isTrue: (
                                                                          message?: Message<any> | undefined
                                                                          ) => BooleanSchema<true | Optionals<TType>, TContext, TFlags>;

                                                                            method nonNullable

                                                                            nonNullable: (
                                                                            msg?: Message
                                                                            ) => BooleanSchema<NotNull<TType>, TContext, TDefault, TFlags>;

                                                                              method notRequired

                                                                              notRequired: () => BooleanSchema<Maybe<TType>, TContext, TDefault, TFlags>;

                                                                                method nullable

                                                                                nullable: () => BooleanSchema<TType | null, TContext, TDefault, TFlags>;

                                                                                  method optional

                                                                                  optional: () => BooleanSchema<TType | undefined, TContext, TDefault, TFlags>;

                                                                                    method required

                                                                                    required: (
                                                                                    msg?: Message
                                                                                    ) => BooleanSchema<NonNullable<TType>, TContext, TDefault, TFlags>;

                                                                                      method strip

                                                                                      strip: {
                                                                                      (enabled: false): BooleanSchema<
                                                                                      TType,
                                                                                      TContext,
                                                                                      TDefault,
                                                                                      UnsetFlag<TFlags, 's'>
                                                                                      >;
                                                                                      (enabled?: true): BooleanSchema<
                                                                                      TType,
                                                                                      TContext,
                                                                                      TDefault,
                                                                                      SetFlag<TFlags, 's'>
                                                                                      >;
                                                                                      };

                                                                                        class DateSchema

                                                                                        class DateSchema<
                                                                                        TType extends Maybe<Date> = Date | undefined,
                                                                                        TContext = AnyObject,
                                                                                        TDefault = undefined,
                                                                                        TFlags extends Flags = ''
                                                                                        > extends Schema<TType, TContext, TDefault, TFlags> {}

                                                                                          constructor

                                                                                          constructor();

                                                                                            property INVALID_DATE

                                                                                            static INVALID_DATE: Date;

                                                                                              method max

                                                                                              max: (
                                                                                              max: unknown | Reference,
                                                                                              message?: Message<{ max: string | Date }>
                                                                                              ) => this;

                                                                                                method min

                                                                                                min: (
                                                                                                min: unknown | Reference<Date>,
                                                                                                message?: Message<{ min: string | Date }>
                                                                                                ) => this;

                                                                                                  class Lazy

                                                                                                  class Lazy<T, TContext = AnyObject, TFlags extends Flags = any>
                                                                                                  implements ISchema<T, TContext, TFlags, undefined> {}

                                                                                                    constructor

                                                                                                    constructor(builder: any);

                                                                                                      property ['~standard']

                                                                                                      readonly ['~standard']: StandardSchemaProps<
                                                                                                      T,
                                                                                                      ResolveFlags<T, TFlags, undefined>
                                                                                                      >;

                                                                                                        property spec

                                                                                                        spec: LazySpec;

                                                                                                          property type

                                                                                                          type: string;

                                                                                                            method asNestedTest

                                                                                                            asNestedTest: (config: NestedTestConfig) => RunTest;

                                                                                                              method cast

                                                                                                              cast: {
                                                                                                              (value: any, options?: CastOptions$1<TContext>): T;
                                                                                                              (value: any, options?: CastOptionalityOptions<TContext>): T;
                                                                                                              };

                                                                                                                method clone

                                                                                                                clone: (spec?: Partial<LazySpec>) => Lazy<T, TContext, TFlags>;

                                                                                                                  method describe

                                                                                                                  describe: (
                                                                                                                  options?: ResolveOptions<TContext>
                                                                                                                  ) => SchemaLazyDescription | SchemaFieldDescription;

                                                                                                                    method isValid

                                                                                                                    isValid: (value: any, options?: ValidateOptions<TContext>) => Promise<boolean>;

                                                                                                                      method isValidSync

                                                                                                                      isValidSync: (value: any, options?: ValidateOptions<TContext>) => boolean;

                                                                                                                        method meta

                                                                                                                        meta: {
                                                                                                                        (): Record<string, unknown> | undefined;
                                                                                                                        (obj: Record<string, unknown>): Lazy<T, TContext, TFlags>;
                                                                                                                        };

                                                                                                                          method optional

                                                                                                                          optional: () => Lazy<T | undefined, TContext, TFlags>;

                                                                                                                            method resolve

                                                                                                                            resolve: (
                                                                                                                            options: ResolveOptions<TContext>
                                                                                                                            ) => Schema<T, TContext, undefined, TFlags>;

                                                                                                                              method validate

                                                                                                                              validate: (value: any, options?: ValidateOptions<TContext>) => Promise<T>;

                                                                                                                                method validateAt

                                                                                                                                validateAt: (
                                                                                                                                path: string,
                                                                                                                                value: any,
                                                                                                                                options?: ValidateOptions<TContext>
                                                                                                                                ) => any;

                                                                                                                                  method validateSync

                                                                                                                                  validateSync: (value: any, options?: ValidateOptions<TContext>) => T;

                                                                                                                                    method validateSyncAt

                                                                                                                                    validateSyncAt: (
                                                                                                                                    path: string,
                                                                                                                                    value: any,
                                                                                                                                    options?: ValidateOptions<TContext>
                                                                                                                                    ) => any;

                                                                                                                                      class LazySchema

                                                                                                                                      class Lazy<T, TContext = AnyObject, TFlags extends Flags = any>
                                                                                                                                      implements ISchema<T, TContext, TFlags, undefined> {}

                                                                                                                                        constructor

                                                                                                                                        constructor(builder: any);

                                                                                                                                          property ['~standard']

                                                                                                                                          readonly ['~standard']: StandardSchemaProps<
                                                                                                                                          T,
                                                                                                                                          ResolveFlags<T, TFlags, undefined>
                                                                                                                                          >;

                                                                                                                                            property spec

                                                                                                                                            spec: LazySpec;

                                                                                                                                              property type

                                                                                                                                              type: string;

                                                                                                                                                method asNestedTest

                                                                                                                                                asNestedTest: (config: NestedTestConfig) => RunTest;

                                                                                                                                                  method cast

                                                                                                                                                  cast: {
                                                                                                                                                  (value: any, options?: CastOptions$1<TContext>): T;
                                                                                                                                                  (value: any, options?: CastOptionalityOptions<TContext>): T;
                                                                                                                                                  };

                                                                                                                                                    method clone

                                                                                                                                                    clone: (spec?: Partial<LazySpec>) => Lazy<T, TContext, TFlags>;

                                                                                                                                                      method describe

                                                                                                                                                      describe: (
                                                                                                                                                      options?: ResolveOptions<TContext>
                                                                                                                                                      ) => SchemaLazyDescription | SchemaFieldDescription;

                                                                                                                                                        method isValid

                                                                                                                                                        isValid: (value: any, options?: ValidateOptions<TContext>) => Promise<boolean>;

                                                                                                                                                          method isValidSync

                                                                                                                                                          isValidSync: (value: any, options?: ValidateOptions<TContext>) => boolean;

                                                                                                                                                            method meta

                                                                                                                                                            meta: {
                                                                                                                                                            (): Record<string, unknown> | undefined;
                                                                                                                                                            (obj: Record<string, unknown>): Lazy<T, TContext, TFlags>;
                                                                                                                                                            };

                                                                                                                                                              method optional

                                                                                                                                                              optional: () => Lazy<T | undefined, TContext, TFlags>;

                                                                                                                                                                method resolve

                                                                                                                                                                resolve: (
                                                                                                                                                                options: ResolveOptions<TContext>
                                                                                                                                                                ) => Schema<T, TContext, undefined, TFlags>;

                                                                                                                                                                  method validate

                                                                                                                                                                  validate: (value: any, options?: ValidateOptions<TContext>) => Promise<T>;

                                                                                                                                                                    method validateAt

                                                                                                                                                                    validateAt: (
                                                                                                                                                                    path: string,
                                                                                                                                                                    value: any,
                                                                                                                                                                    options?: ValidateOptions<TContext>
                                                                                                                                                                    ) => any;

                                                                                                                                                                      method validateSync

                                                                                                                                                                      validateSync: (value: any, options?: ValidateOptions<TContext>) => T;

                                                                                                                                                                        method validateSyncAt

                                                                                                                                                                        validateSyncAt: (
                                                                                                                                                                        path: string,
                                                                                                                                                                        value: any,
                                                                                                                                                                        options?: ValidateOptions<TContext>
                                                                                                                                                                        ) => any;

                                                                                                                                                                          class MixedSchema

                                                                                                                                                                          class MixedSchema<
                                                                                                                                                                          TType extends Maybe<AnyPresentValue> = AnyPresentValue | undefined,
                                                                                                                                                                          TContext = AnyObject,
                                                                                                                                                                          TDefault = undefined,
                                                                                                                                                                          TFlags extends Flags = ''
                                                                                                                                                                          > extends Schema<TType, TContext, TDefault, TFlags> {}

                                                                                                                                                                            constructor

                                                                                                                                                                            constructor(spec?: MixedOptions<TType> | TypeGuard<TType>);

                                                                                                                                                                              class NumberSchema

                                                                                                                                                                              class NumberSchema<
                                                                                                                                                                              TType extends Maybe<number> = number | undefined,
                                                                                                                                                                              TContext = AnyObject,
                                                                                                                                                                              TDefault = undefined,
                                                                                                                                                                              TFlags extends Flags = ''
                                                                                                                                                                              > extends Schema<TType, TContext, TDefault, TFlags> {}

                                                                                                                                                                                constructor

                                                                                                                                                                                constructor();

                                                                                                                                                                                  method integer

                                                                                                                                                                                  integer: (message?: Message<any>) => this;

                                                                                                                                                                                    method lessThan

                                                                                                                                                                                    lessThan: (
                                                                                                                                                                                    less: number | Reference<number>,
                                                                                                                                                                                    message?: Message<{ less: number }>
                                                                                                                                                                                    ) => this;

                                                                                                                                                                                      method max

                                                                                                                                                                                      max: (
                                                                                                                                                                                      max: number | Reference<number>,
                                                                                                                                                                                      message?: Message<{ max: number }>
                                                                                                                                                                                      ) => this;

                                                                                                                                                                                        method min

                                                                                                                                                                                        min: (
                                                                                                                                                                                        min: number | Reference<number>,
                                                                                                                                                                                        message?: Message<{ min: number }>
                                                                                                                                                                                        ) => this;

                                                                                                                                                                                          method moreThan

                                                                                                                                                                                          moreThan: (
                                                                                                                                                                                          more: number | Reference<number>,
                                                                                                                                                                                          message?: Message<{ more: number }>
                                                                                                                                                                                          ) => this;

                                                                                                                                                                                            method negative

                                                                                                                                                                                            negative: (msg?: Message<{ less: number }>) => this;

                                                                                                                                                                                              method positive

                                                                                                                                                                                              positive: (msg?: Message<{ more: number }>) => this;

                                                                                                                                                                                                method round

                                                                                                                                                                                                round: (method?: 'ceil' | 'floor' | 'round' | 'trunc') => this;

                                                                                                                                                                                                  method truncate

                                                                                                                                                                                                  truncate: () => this;

                                                                                                                                                                                                    class ObjectSchema

                                                                                                                                                                                                    class ObjectSchema<
                                                                                                                                                                                                    TIn extends Maybe<AnyObject>,
                                                                                                                                                                                                    TContext = AnyObject,
                                                                                                                                                                                                    TDefault = any,
                                                                                                                                                                                                    TFlags extends Flags = ''
                                                                                                                                                                                                    > extends Schema<MakeKeysOptional<TIn>, TContext, TDefault, TFlags> {}

                                                                                                                                                                                                      constructor

                                                                                                                                                                                                      constructor(spec?: Shape<TIn, TContext>);

                                                                                                                                                                                                        property fields

                                                                                                                                                                                                        fields: Shape<NonNullable<TIn>, TContext>;

                                                                                                                                                                                                          property spec

                                                                                                                                                                                                          spec: ObjectSchemaSpec;

                                                                                                                                                                                                            method camelCase

                                                                                                                                                                                                            camelCase: () => this;

                                                                                                                                                                                                              method clone

                                                                                                                                                                                                              clone: (spec?: Partial<ObjectSchemaSpec>) => this;

                                                                                                                                                                                                                method concat

                                                                                                                                                                                                                concat: {
                                                                                                                                                                                                                <IIn extends AnyObject, IC, ID, IF extends Flags>(
                                                                                                                                                                                                                schema: ObjectSchema<IIn, IC, ID, IF>
                                                                                                                                                                                                                ): ObjectSchema<
                                                                                                                                                                                                                ConcatObjectTypes<TIn, IIn>,
                                                                                                                                                                                                                TContext & IC,
                                                                                                                                                                                                                Extract<IF, 'd'> extends never
                                                                                                                                                                                                                ? TDefault extends AnyObject
                                                                                                                                                                                                                ? ID extends AnyObject
                                                                                                                                                                                                                ? _<ConcatObjectTypes<TDefault, ID>>
                                                                                                                                                                                                                : ID
                                                                                                                                                                                                                : ID
                                                                                                                                                                                                                : ID,
                                                                                                                                                                                                                TFlags | IF
                                                                                                                                                                                                                >;
                                                                                                                                                                                                                (schema: this): this;
                                                                                                                                                                                                                };

                                                                                                                                                                                                                  method constantCase

                                                                                                                                                                                                                  constantCase: () => this;

                                                                                                                                                                                                                    method deepPartial

                                                                                                                                                                                                                    deepPartial: () => ObjectSchema<PartialDeep<TIn>, TContext, TDefault, TFlags>;

                                                                                                                                                                                                                      method describe

                                                                                                                                                                                                                      describe: (options?: ResolveOptions<TContext>) => SchemaObjectDescription;

                                                                                                                                                                                                                        method exact

                                                                                                                                                                                                                        exact: (message?: Message) => this;
                                                                                                                                                                                                                        • Similar to noUnknown but only validates that an object is the right shape without stripping the unknown keys

                                                                                                                                                                                                                        method from

                                                                                                                                                                                                                        from: (from: string, to: keyof TIn, alias?: boolean) => this;

                                                                                                                                                                                                                          method json

                                                                                                                                                                                                                          json: () => this;
                                                                                                                                                                                                                          • Parse an input JSON string to an object

                                                                                                                                                                                                                          method noUnknown

                                                                                                                                                                                                                          noUnknown: {
                                                                                                                                                                                                                          (message?: Message): this;
                                                                                                                                                                                                                          (noAllow: boolean, message?: Message<any>): this;
                                                                                                                                                                                                                          };

                                                                                                                                                                                                                            method omit

                                                                                                                                                                                                                            omit: <TKey extends keyof TIn>(
                                                                                                                                                                                                                            keys: readonly TKey[]
                                                                                                                                                                                                                            ) => ObjectSchema<
                                                                                                                                                                                                                            { [K in Exclude<keyof TIn, TKey>]: TIn[K] },
                                                                                                                                                                                                                            TContext,
                                                                                                                                                                                                                            TDefault,
                                                                                                                                                                                                                            TFlags
                                                                                                                                                                                                                            >;

                                                                                                                                                                                                                              method partial

                                                                                                                                                                                                                              partial: () => ObjectSchema<Partial<TIn>, TContext, TDefault, TFlags>;

                                                                                                                                                                                                                                method pick

                                                                                                                                                                                                                                pick: <TKey extends keyof TIn>(
                                                                                                                                                                                                                                keys: readonly TKey[]
                                                                                                                                                                                                                                ) => ObjectSchema<{ [K in TKey]: TIn[K] }, TContext, TDefault, TFlags>;

                                                                                                                                                                                                                                  method shape

                                                                                                                                                                                                                                  shape: <U extends ObjectShape>(
                                                                                                                                                                                                                                  additions: U,
                                                                                                                                                                                                                                  excludes?: readonly [string, string][]
                                                                                                                                                                                                                                  ) => ObjectSchema<
                                                                                                                                                                                                                                  | _<
                                                                                                                                                                                                                                  {
                                                                                                                                                                                                                                  [P in keyof TIn]: P extends keyof U
                                                                                                                                                                                                                                  ? TypeFromShape<U, TContext>[P]
                                                                                                                                                                                                                                  : TIn[P];
                                                                                                                                                                                                                                  } & TypeFromShape<U, TContext>
                                                                                                                                                                                                                                  >
                                                                                                                                                                                                                                  | _<Extract<TIn, null>>,
                                                                                                                                                                                                                                  TContext,
                                                                                                                                                                                                                                  Extract<TFlags, 'd'> extends never
                                                                                                                                                                                                                                  ? _<TDefault & DefaultFromShape<U>>
                                                                                                                                                                                                                                  : TDefault,
                                                                                                                                                                                                                                  TFlags
                                                                                                                                                                                                                                  >;

                                                                                                                                                                                                                                    method snakeCase

                                                                                                                                                                                                                                    snakeCase: () => this;

                                                                                                                                                                                                                                      method stripUnknown

                                                                                                                                                                                                                                      stripUnknown: () => this;

                                                                                                                                                                                                                                        method transformKeys

                                                                                                                                                                                                                                        transformKeys: (fn: (key: string) => string) => this;

                                                                                                                                                                                                                                          method unknown

                                                                                                                                                                                                                                          unknown: (allow?: boolean, message?: Message<{ unknown: string[] }>) => this;

                                                                                                                                                                                                                                            class Reference

                                                                                                                                                                                                                                            class Reference<TValue = unknown> {}

                                                                                                                                                                                                                                              constructor

                                                                                                                                                                                                                                              constructor(key: string, options?: ReferenceOptions<TValue>);

                                                                                                                                                                                                                                                property getter

                                                                                                                                                                                                                                                readonly getter: (data: unknown) => unknown;

                                                                                                                                                                                                                                                  property isContext

                                                                                                                                                                                                                                                  readonly isContext: boolean;

                                                                                                                                                                                                                                                    property isSibling

                                                                                                                                                                                                                                                    readonly isSibling: boolean;

                                                                                                                                                                                                                                                      property isValue

                                                                                                                                                                                                                                                      readonly isValue: boolean;

                                                                                                                                                                                                                                                        property key

                                                                                                                                                                                                                                                        readonly key: string;

                                                                                                                                                                                                                                                          property map

                                                                                                                                                                                                                                                          readonly map?: (value: unknown) => TValue;

                                                                                                                                                                                                                                                            property path

                                                                                                                                                                                                                                                            readonly path: any;

                                                                                                                                                                                                                                                              method cast

                                                                                                                                                                                                                                                              cast: (value: any, options?: { parent?: {}; context?: {} }) => TValue;
                                                                                                                                                                                                                                                              • Parameter value

                                                                                                                                                                                                                                                                Parameter options

                                                                                                                                                                                                                                                                Parameter

                                                                                                                                                                                                                                                                {Object=} options.context

                                                                                                                                                                                                                                                                Parameter

                                                                                                                                                                                                                                                                {Object=} options.parent

                                                                                                                                                                                                                                                              method describe

                                                                                                                                                                                                                                                              describe: () => SchemaRefDescription;

                                                                                                                                                                                                                                                                method getValue

                                                                                                                                                                                                                                                                getValue: (value: any, parent?: {}, context?: {}) => TValue;

                                                                                                                                                                                                                                                                  method isRef

                                                                                                                                                                                                                                                                  static isRef: (value: any) => value is Reference<unknown>;

                                                                                                                                                                                                                                                                    method resolve

                                                                                                                                                                                                                                                                    resolve: () => this;

                                                                                                                                                                                                                                                                      method toString

                                                                                                                                                                                                                                                                      toString: () => string;

                                                                                                                                                                                                                                                                        class Schema

                                                                                                                                                                                                                                                                        abstract class Schema<
                                                                                                                                                                                                                                                                        TType = any,
                                                                                                                                                                                                                                                                        TContext = any,
                                                                                                                                                                                                                                                                        TDefault = any,
                                                                                                                                                                                                                                                                        TFlags extends Flags = ''
                                                                                                                                                                                                                                                                        > implements
                                                                                                                                                                                                                                                                        ISchema<TType, TContext, TFlags, TDefault>,
                                                                                                                                                                                                                                                                        StandardSchema<TType, ResolveFlags<TType, TFlags, TDefault>> {}

                                                                                                                                                                                                                                                                          constructor

                                                                                                                                                                                                                                                                          constructor(options: SchemaOptions<TType, any>);

                                                                                                                                                                                                                                                                            property ['~standard']

                                                                                                                                                                                                                                                                            readonly ['~standard']: StandardSchemaProps<
                                                                                                                                                                                                                                                                            TType,
                                                                                                                                                                                                                                                                            ResolveFlags<TType, TFlags, TDefault>
                                                                                                                                                                                                                                                                            >;

                                                                                                                                                                                                                                                                              property deps

                                                                                                                                                                                                                                                                              readonly deps: readonly string[];

                                                                                                                                                                                                                                                                                property exclusiveTests

                                                                                                                                                                                                                                                                                protected exclusiveTests: Record<string, boolean>;

                                                                                                                                                                                                                                                                                  property spec

                                                                                                                                                                                                                                                                                  spec: SchemaSpec<any>;

                                                                                                                                                                                                                                                                                    property tests

                                                                                                                                                                                                                                                                                    tests: Test[];

                                                                                                                                                                                                                                                                                      property transforms

                                                                                                                                                                                                                                                                                      transforms: TransformFunction<AnySchema<any, any, any, Flags>>[];

                                                                                                                                                                                                                                                                                        property type

                                                                                                                                                                                                                                                                                        readonly type: string;

                                                                                                                                                                                                                                                                                          method asNestedTest

                                                                                                                                                                                                                                                                                          asNestedTest: ({
                                                                                                                                                                                                                                                                                          key,
                                                                                                                                                                                                                                                                                          index,
                                                                                                                                                                                                                                                                                          parent,
                                                                                                                                                                                                                                                                                          parentPath,
                                                                                                                                                                                                                                                                                          originalParent,
                                                                                                                                                                                                                                                                                          options,
                                                                                                                                                                                                                                                                                          }: NestedTestConfig) => RunTest;

                                                                                                                                                                                                                                                                                            method cast

                                                                                                                                                                                                                                                                                            cast: {
                                                                                                                                                                                                                                                                                            (value: any, options?: CastOptions$1<TContext>): this['__outputType'];
                                                                                                                                                                                                                                                                                            (
                                                                                                                                                                                                                                                                                            value: any,
                                                                                                                                                                                                                                                                                            options: CastOptionalityOptions<TContext>
                                                                                                                                                                                                                                                                                            ): this['__outputType'];
                                                                                                                                                                                                                                                                                            };
                                                                                                                                                                                                                                                                                            • Run the configured transform pipeline over an input value.

                                                                                                                                                                                                                                                                                            method clone

                                                                                                                                                                                                                                                                                            clone: (spec?: Partial<SchemaSpec<any>>) => this;

                                                                                                                                                                                                                                                                                              method concat

                                                                                                                                                                                                                                                                                              concat: {
                                                                                                                                                                                                                                                                                              (schema: this): this;
                                                                                                                                                                                                                                                                                              (schema: AnySchema<any, any, any, Flags>): AnySchema<any, any, any, Flags>;
                                                                                                                                                                                                                                                                                              };

                                                                                                                                                                                                                                                                                                method default

                                                                                                                                                                                                                                                                                                default: (def: DefaultThunk<any>) => any;

                                                                                                                                                                                                                                                                                                  method defined

                                                                                                                                                                                                                                                                                                  defined: (message?: Message<any>) => any;

                                                                                                                                                                                                                                                                                                    method describe

                                                                                                                                                                                                                                                                                                    describe: (options?: ResolveOptions<TContext>) => SchemaDescription;
                                                                                                                                                                                                                                                                                                    • Return a serialized description of the schema including validations, flags, types etc.

                                                                                                                                                                                                                                                                                                      Parameter options

                                                                                                                                                                                                                                                                                                      Provide any needed context for resolving runtime schema alterations (lazy, when conditions, etc).

                                                                                                                                                                                                                                                                                                    method getDefault

                                                                                                                                                                                                                                                                                                    getDefault: (options?: ResolveOptions<TContext>) => TDefault;

                                                                                                                                                                                                                                                                                                      method isType

                                                                                                                                                                                                                                                                                                      isType: (v: unknown) => v is TType;

                                                                                                                                                                                                                                                                                                        method isValid

                                                                                                                                                                                                                                                                                                        isValid: (value: any, options?: ValidateOptions<TContext>) => Promise<boolean>;

                                                                                                                                                                                                                                                                                                          method isValidSync

                                                                                                                                                                                                                                                                                                          isValidSync: (
                                                                                                                                                                                                                                                                                                          value: any,
                                                                                                                                                                                                                                                                                                          options?: ValidateOptions<TContext>
                                                                                                                                                                                                                                                                                                          ) => value is this['__outputType'];

                                                                                                                                                                                                                                                                                                            method label

                                                                                                                                                                                                                                                                                                            label: (label: string) => this;

                                                                                                                                                                                                                                                                                                              method meta

                                                                                                                                                                                                                                                                                                              meta: { (): SchemaMetadata | undefined; (obj: Record<PropertyKey, any>): this };

                                                                                                                                                                                                                                                                                                                method nonNullable

                                                                                                                                                                                                                                                                                                                nonNullable: (message?: Message<any>) => any;

                                                                                                                                                                                                                                                                                                                  method notOneOf

                                                                                                                                                                                                                                                                                                                  notOneOf: <U extends TType>(
                                                                                                                                                                                                                                                                                                                  enums: ReadonlyArray<Maybe<U> | Reference>,
                                                                                                                                                                                                                                                                                                                  message?: Message<{ values: any }>
                                                                                                                                                                                                                                                                                                                  ) => this;

                                                                                                                                                                                                                                                                                                                    method notRequired

                                                                                                                                                                                                                                                                                                                    notRequired: () => any;

                                                                                                                                                                                                                                                                                                                      method nullability

                                                                                                                                                                                                                                                                                                                      protected nullability: (nullable: boolean, message?: Message<any>) => this;

                                                                                                                                                                                                                                                                                                                        method nullable

                                                                                                                                                                                                                                                                                                                        nullable: () => any;

                                                                                                                                                                                                                                                                                                                          method oneOf

                                                                                                                                                                                                                                                                                                                          oneOf: {
                                                                                                                                                                                                                                                                                                                          <U extends TType>(
                                                                                                                                                                                                                                                                                                                          enums: ReadonlyArray<U | Reference>,
                                                                                                                                                                                                                                                                                                                          message?: Message<{ values: any }>
                                                                                                                                                                                                                                                                                                                          ): this;
                                                                                                                                                                                                                                                                                                                          (
                                                                                                                                                                                                                                                                                                                          enums: readonly (Reference<unknown> | TType)[],
                                                                                                                                                                                                                                                                                                                          message: Message<{ values: any }>
                                                                                                                                                                                                                                                                                                                          ): any;
                                                                                                                                                                                                                                                                                                                          };

                                                                                                                                                                                                                                                                                                                            method optional

                                                                                                                                                                                                                                                                                                                            optional: () => any;

                                                                                                                                                                                                                                                                                                                              method optionality

                                                                                                                                                                                                                                                                                                                              protected optionality: (optional: boolean, message?: Message<any>) => this;

                                                                                                                                                                                                                                                                                                                                method required

                                                                                                                                                                                                                                                                                                                                required: (message?: Message<any>) => any;

                                                                                                                                                                                                                                                                                                                                  method resolve

                                                                                                                                                                                                                                                                                                                                  resolve: (options: ResolveOptions<TContext>) => this;

                                                                                                                                                                                                                                                                                                                                    method resolveOptions

                                                                                                                                                                                                                                                                                                                                    protected resolveOptions: <T extends InternalOptions<any>>(options: T) => T;

                                                                                                                                                                                                                                                                                                                                      method runTests

                                                                                                                                                                                                                                                                                                                                      protected runTests: (
                                                                                                                                                                                                                                                                                                                                      runOptions: TestRunOptions,
                                                                                                                                                                                                                                                                                                                                      panic: (err: Error, value: unknown) => void,
                                                                                                                                                                                                                                                                                                                                      next: (errors: ValidationError[], value: unknown) => void
                                                                                                                                                                                                                                                                                                                                      ) => void;
                                                                                                                                                                                                                                                                                                                                      • Executes a set of validations, either schema, produced Tests or a nested schema validate result.

                                                                                                                                                                                                                                                                                                                                      method strict

                                                                                                                                                                                                                                                                                                                                      strict: (isStrict?: boolean) => this;

                                                                                                                                                                                                                                                                                                                                        method strip

                                                                                                                                                                                                                                                                                                                                        strip: (strip?: boolean) => any;

                                                                                                                                                                                                                                                                                                                                          method test

                                                                                                                                                                                                                                                                                                                                          test: {
                                                                                                                                                                                                                                                                                                                                          (options: TestConfig<this['__outputType'], TContext>): this;
                                                                                                                                                                                                                                                                                                                                          (test: TestFunction<this['__outputType'], TContext>): this;
                                                                                                                                                                                                                                                                                                                                          (name: string, test: TestFunction<this['__outputType'], TContext>): this;
                                                                                                                                                                                                                                                                                                                                          (
                                                                                                                                                                                                                                                                                                                                          name: string,
                                                                                                                                                                                                                                                                                                                                          message: Message<any>,
                                                                                                                                                                                                                                                                                                                                          test: TestFunction<this['__outputType'], TContext>
                                                                                                                                                                                                                                                                                                                                          ): this;
                                                                                                                                                                                                                                                                                                                                          };
                                                                                                                                                                                                                                                                                                                                          • Adds a test function to the schema's queue of tests. tests can be exclusive or non-exclusive.

                                                                                                                                                                                                                                                                                                                                            - exclusive tests, will replace any existing tests of the same name. - non-exclusive: can be stacked

                                                                                                                                                                                                                                                                                                                                            If a non-exclusive test is added to a schema with an exclusive test of the same name the exclusive test is removed and further tests of the same name will be stacked.

                                                                                                                                                                                                                                                                                                                                            If an exclusive test is added to a schema with non-exclusive tests of the same name the previous tests are removed and further tests of the same name will replace each other.

                                                                                                                                                                                                                                                                                                                                          method transform

                                                                                                                                                                                                                                                                                                                                          transform: (fn: TransformFunction<this>) => this;

                                                                                                                                                                                                                                                                                                                                            method typeError

                                                                                                                                                                                                                                                                                                                                            typeError: (message: Message) => this;

                                                                                                                                                                                                                                                                                                                                              method validate

                                                                                                                                                                                                                                                                                                                                              validate: (
                                                                                                                                                                                                                                                                                                                                              value: any,
                                                                                                                                                                                                                                                                                                                                              options?: ValidateOptions<TContext>
                                                                                                                                                                                                                                                                                                                                              ) => Promise<this['__outputType']>;

                                                                                                                                                                                                                                                                                                                                                method validateSync

                                                                                                                                                                                                                                                                                                                                                validateSync: (
                                                                                                                                                                                                                                                                                                                                                value: any,
                                                                                                                                                                                                                                                                                                                                                options?: ValidateOptions<TContext>
                                                                                                                                                                                                                                                                                                                                                ) => this['__outputType'];

                                                                                                                                                                                                                                                                                                                                                  method when

                                                                                                                                                                                                                                                                                                                                                  when: {
                                                                                                                                                                                                                                                                                                                                                  (builder: ConditionBuilder<this>): this;
                                                                                                                                                                                                                                                                                                                                                  (keys: string | string[], builder: ConditionBuilder<this>): this;
                                                                                                                                                                                                                                                                                                                                                  (options: ConditionConfig<this>): this;
                                                                                                                                                                                                                                                                                                                                                  (keys: string | string[], options: ConditionConfig<this>): this;
                                                                                                                                                                                                                                                                                                                                                  };

                                                                                                                                                                                                                                                                                                                                                    method withMutation

                                                                                                                                                                                                                                                                                                                                                    withMutation: <T>(fn: (schema: this) => T) => T;

                                                                                                                                                                                                                                                                                                                                                      class StringSchema

                                                                                                                                                                                                                                                                                                                                                      class StringSchema<
                                                                                                                                                                                                                                                                                                                                                      TType extends Maybe<string> = string | undefined,
                                                                                                                                                                                                                                                                                                                                                      TContext = AnyObject,
                                                                                                                                                                                                                                                                                                                                                      TDefault = undefined,
                                                                                                                                                                                                                                                                                                                                                      TFlags extends Flags = ''
                                                                                                                                                                                                                                                                                                                                                      > extends Schema<TType, TContext, TDefault, TFlags> {}

                                                                                                                                                                                                                                                                                                                                                        constructor

                                                                                                                                                                                                                                                                                                                                                        constructor();

                                                                                                                                                                                                                                                                                                                                                          method datetime

                                                                                                                                                                                                                                                                                                                                                          datetime: (options?: DateTimeOptions | DateTimeOptions['message']) => this;

                                                                                                                                                                                                                                                                                                                                                            method email

                                                                                                                                                                                                                                                                                                                                                            email: (message?: Message<{ regex: RegExp }>) => this;

                                                                                                                                                                                                                                                                                                                                                              method ensure

                                                                                                                                                                                                                                                                                                                                                              ensure: () => StringSchema<NonNullable<TType>>;

                                                                                                                                                                                                                                                                                                                                                                method length

                                                                                                                                                                                                                                                                                                                                                                length: (
                                                                                                                                                                                                                                                                                                                                                                length: number | Reference<number>,
                                                                                                                                                                                                                                                                                                                                                                message?: Message<{ length: number }>
                                                                                                                                                                                                                                                                                                                                                                ) => this;

                                                                                                                                                                                                                                                                                                                                                                  method lowercase

                                                                                                                                                                                                                                                                                                                                                                  lowercase: (message?: Message<any>) => this;

                                                                                                                                                                                                                                                                                                                                                                    method matches

                                                                                                                                                                                                                                                                                                                                                                    matches: (
                                                                                                                                                                                                                                                                                                                                                                    regex: RegExp,
                                                                                                                                                                                                                                                                                                                                                                    options?: MatchOptions | MatchOptions['message']
                                                                                                                                                                                                                                                                                                                                                                    ) => this;

                                                                                                                                                                                                                                                                                                                                                                      method max

                                                                                                                                                                                                                                                                                                                                                                      max: (
                                                                                                                                                                                                                                                                                                                                                                      max: number | Reference<number>,
                                                                                                                                                                                                                                                                                                                                                                      message?: Message<{ max: number }>
                                                                                                                                                                                                                                                                                                                                                                      ) => this;

                                                                                                                                                                                                                                                                                                                                                                        method min

                                                                                                                                                                                                                                                                                                                                                                        min: (
                                                                                                                                                                                                                                                                                                                                                                        min: number | Reference<number>,
                                                                                                                                                                                                                                                                                                                                                                        message?: Message<{ min: number }>
                                                                                                                                                                                                                                                                                                                                                                        ) => this;

                                                                                                                                                                                                                                                                                                                                                                          method trim

                                                                                                                                                                                                                                                                                                                                                                          trim: (message?: Message<any>) => this;

                                                                                                                                                                                                                                                                                                                                                                            method uppercase

                                                                                                                                                                                                                                                                                                                                                                            uppercase: (message?: Message<any>) => this;

                                                                                                                                                                                                                                                                                                                                                                              method url

                                                                                                                                                                                                                                                                                                                                                                              url: (message?: Message<{ regex: RegExp }>) => this;

                                                                                                                                                                                                                                                                                                                                                                                method uuid

                                                                                                                                                                                                                                                                                                                                                                                uuid: (message?: Message<{ regex: RegExp }>) => this;

                                                                                                                                                                                                                                                                                                                                                                                  class TupleSchema

                                                                                                                                                                                                                                                                                                                                                                                  class TupleSchema<
                                                                                                                                                                                                                                                                                                                                                                                  TType extends Maybe<AnyTuple> = AnyTuple | undefined,
                                                                                                                                                                                                                                                                                                                                                                                  TContext = AnyObject,
                                                                                                                                                                                                                                                                                                                                                                                  TDefault = undefined,
                                                                                                                                                                                                                                                                                                                                                                                  TFlags extends Flags = ''
                                                                                                                                                                                                                                                                                                                                                                                  > extends Schema<TType, TContext, TDefault, TFlags> {}

                                                                                                                                                                                                                                                                                                                                                                                    constructor

                                                                                                                                                                                                                                                                                                                                                                                    constructor(
                                                                                                                                                                                                                                                                                                                                                                                    schemas: [ISchema<any, any, any, any>, ...ISchema<any, any, any, any>[]]
                                                                                                                                                                                                                                                                                                                                                                                    );

                                                                                                                                                                                                                                                                                                                                                                                      property spec

                                                                                                                                                                                                                                                                                                                                                                                      spec: TupleSchemaSpec<TType>;

                                                                                                                                                                                                                                                                                                                                                                                        method describe

                                                                                                                                                                                                                                                                                                                                                                                        describe: (options?: ResolveOptions<TContext>) => SchemaInnerTypeDescription;

                                                                                                                                                                                                                                                                                                                                                                                          class ValidationError

                                                                                                                                                                                                                                                                                                                                                                                          class ValidationError extends Error {}

                                                                                                                                                                                                                                                                                                                                                                                            constructor

                                                                                                                                                                                                                                                                                                                                                                                            constructor(
                                                                                                                                                                                                                                                                                                                                                                                            errorOrErrors: string | ValidationError | readonly ValidationError[],
                                                                                                                                                                                                                                                                                                                                                                                            value?: any,
                                                                                                                                                                                                                                                                                                                                                                                            field?: string,
                                                                                                                                                                                                                                                                                                                                                                                            type?: string,
                                                                                                                                                                                                                                                                                                                                                                                            disableStack?: boolean
                                                                                                                                                                                                                                                                                                                                                                                            );

                                                                                                                                                                                                                                                                                                                                                                                              property [Symbol.toStringTag]

                                                                                                                                                                                                                                                                                                                                                                                              [Symbol.toStringTag]: string;

                                                                                                                                                                                                                                                                                                                                                                                                property errors

                                                                                                                                                                                                                                                                                                                                                                                                errors: string[];

                                                                                                                                                                                                                                                                                                                                                                                                  property inner

                                                                                                                                                                                                                                                                                                                                                                                                  inner: ValidationError[];

                                                                                                                                                                                                                                                                                                                                                                                                    property params

                                                                                                                                                                                                                                                                                                                                                                                                    params?: Params;

                                                                                                                                                                                                                                                                                                                                                                                                      property path

                                                                                                                                                                                                                                                                                                                                                                                                      path?: string;

                                                                                                                                                                                                                                                                                                                                                                                                        property type

                                                                                                                                                                                                                                                                                                                                                                                                        type?: string;

                                                                                                                                                                                                                                                                                                                                                                                                          property value

                                                                                                                                                                                                                                                                                                                                                                                                          value: any;

                                                                                                                                                                                                                                                                                                                                                                                                            method [Symbol.hasInstance]

                                                                                                                                                                                                                                                                                                                                                                                                            static [Symbol.hasInstance]: (inst: any) => boolean;

                                                                                                                                                                                                                                                                                                                                                                                                              method formatError

                                                                                                                                                                                                                                                                                                                                                                                                              static formatError: (message: unknown, params: Params) => any;

                                                                                                                                                                                                                                                                                                                                                                                                                method isError

                                                                                                                                                                                                                                                                                                                                                                                                                static isError: (err: any) => err is ValidationError;

                                                                                                                                                                                                                                                                                                                                                                                                                  Interfaces

                                                                                                                                                                                                                                                                                                                                                                                                                  interface ArraySchema

                                                                                                                                                                                                                                                                                                                                                                                                                  interface ArraySchema<
                                                                                                                                                                                                                                                                                                                                                                                                                  TIn extends any[] | null | undefined,
                                                                                                                                                                                                                                                                                                                                                                                                                  TContext,
                                                                                                                                                                                                                                                                                                                                                                                                                  TDefault = undefined,
                                                                                                                                                                                                                                                                                                                                                                                                                  TFlags extends Flags = ''
                                                                                                                                                                                                                                                                                                                                                                                                                  > extends Schema<TIn, TContext, TDefault, TFlags> {}

                                                                                                                                                                                                                                                                                                                                                                                                                    method default

                                                                                                                                                                                                                                                                                                                                                                                                                    default: <D extends TIn>(
                                                                                                                                                                                                                                                                                                                                                                                                                    def: DefaultThunk<D, TContext>
                                                                                                                                                                                                                                                                                                                                                                                                                    ) => ArraySchema<TIn, TContext, D, ToggleDefault<TFlags, D>>;

                                                                                                                                                                                                                                                                                                                                                                                                                      method defined

                                                                                                                                                                                                                                                                                                                                                                                                                      defined: (
                                                                                                                                                                                                                                                                                                                                                                                                                      msg?: Message
                                                                                                                                                                                                                                                                                                                                                                                                                      ) => ArraySchema<Defined<TIn>, TContext, TDefault, TFlags>;

                                                                                                                                                                                                                                                                                                                                                                                                                        method nonNullable

                                                                                                                                                                                                                                                                                                                                                                                                                        nonNullable: (
                                                                                                                                                                                                                                                                                                                                                                                                                        msg?: Message
                                                                                                                                                                                                                                                                                                                                                                                                                        ) => ArraySchema<NotNull<TIn>, TContext, TDefault, TFlags>;

                                                                                                                                                                                                                                                                                                                                                                                                                          method notRequired

                                                                                                                                                                                                                                                                                                                                                                                                                          notRequired: () => ArraySchema<Maybe<TIn>, TContext, TDefault, TFlags>;

                                                                                                                                                                                                                                                                                                                                                                                                                            method nullable

                                                                                                                                                                                                                                                                                                                                                                                                                            nullable: (msg?: Message) => ArraySchema<TIn | null, TContext, TDefault, TFlags>;

                                                                                                                                                                                                                                                                                                                                                                                                                              method optional

                                                                                                                                                                                                                                                                                                                                                                                                                              optional: () => ArraySchema<TIn | undefined, TContext, TDefault, TFlags>;

                                                                                                                                                                                                                                                                                                                                                                                                                                method required

                                                                                                                                                                                                                                                                                                                                                                                                                                required: (
                                                                                                                                                                                                                                                                                                                                                                                                                                msg?: Message
                                                                                                                                                                                                                                                                                                                                                                                                                                ) => ArraySchema<NonNullable<TIn>, TContext, TDefault, TFlags>;

                                                                                                                                                                                                                                                                                                                                                                                                                                  method strip

                                                                                                                                                                                                                                                                                                                                                                                                                                  strip: {
                                                                                                                                                                                                                                                                                                                                                                                                                                  (enabled: false): ArraySchema<
                                                                                                                                                                                                                                                                                                                                                                                                                                  TIn,
                                                                                                                                                                                                                                                                                                                                                                                                                                  TContext,
                                                                                                                                                                                                                                                                                                                                                                                                                                  TDefault,
                                                                                                                                                                                                                                                                                                                                                                                                                                  UnsetFlag<TFlags, 's'>
                                                                                                                                                                                                                                                                                                                                                                                                                                  >;
                                                                                                                                                                                                                                                                                                                                                                                                                                  (enabled?: true): ArraySchema<TIn, TContext, TDefault, SetFlag<TFlags, 's'>>;
                                                                                                                                                                                                                                                                                                                                                                                                                                  };

                                                                                                                                                                                                                                                                                                                                                                                                                                    interface CustomSchemaMetadata

                                                                                                                                                                                                                                                                                                                                                                                                                                    interface CustomSchemaMetadata {}

                                                                                                                                                                                                                                                                                                                                                                                                                                      interface DateSchema

                                                                                                                                                                                                                                                                                                                                                                                                                                      interface DateSchema<
                                                                                                                                                                                                                                                                                                                                                                                                                                      TType extends Maybe<Date>,
                                                                                                                                                                                                                                                                                                                                                                                                                                      TContext = AnyObject,
                                                                                                                                                                                                                                                                                                                                                                                                                                      TDefault = undefined,
                                                                                                                                                                                                                                                                                                                                                                                                                                      TFlags extends Flags = ''
                                                                                                                                                                                                                                                                                                                                                                                                                                      > extends Schema<TType, TContext, TDefault, TFlags> {}

                                                                                                                                                                                                                                                                                                                                                                                                                                        method concat

                                                                                                                                                                                                                                                                                                                                                                                                                                        concat: <TOther extends DateSchema<any, any, undefined, ''>>(
                                                                                                                                                                                                                                                                                                                                                                                                                                        schema: TOther
                                                                                                                                                                                                                                                                                                                                                                                                                                        ) => TOther;

                                                                                                                                                                                                                                                                                                                                                                                                                                          method default

                                                                                                                                                                                                                                                                                                                                                                                                                                          default: <D extends TType>(
                                                                                                                                                                                                                                                                                                                                                                                                                                          def: DefaultThunk<D, TContext>
                                                                                                                                                                                                                                                                                                                                                                                                                                          ) => DateSchema<TType, TContext, D, ToggleDefault<TFlags, D>>;

                                                                                                                                                                                                                                                                                                                                                                                                                                            method defined

                                                                                                                                                                                                                                                                                                                                                                                                                                            defined: (
                                                                                                                                                                                                                                                                                                                                                                                                                                            msg?: Message
                                                                                                                                                                                                                                                                                                                                                                                                                                            ) => DateSchema<Defined<TType>, TContext, TDefault, TFlags>;

                                                                                                                                                                                                                                                                                                                                                                                                                                              method nonNullable

                                                                                                                                                                                                                                                                                                                                                                                                                                              nonNullable: (
                                                                                                                                                                                                                                                                                                                                                                                                                                              msg?: Message
                                                                                                                                                                                                                                                                                                                                                                                                                                              ) => DateSchema<NotNull<TType>, TContext, TDefault, TFlags>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                method notRequired

                                                                                                                                                                                                                                                                                                                                                                                                                                                notRequired: () => DateSchema<Maybe<TType>, TContext, TDefault, TFlags>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                  method nullable

                                                                                                                                                                                                                                                                                                                                                                                                                                                  nullable: (
                                                                                                                                                                                                                                                                                                                                                                                                                                                  msg?: Message
                                                                                                                                                                                                                                                                                                                                                                                                                                                  ) => DateSchema<TType | null, TContext, TDefault, TFlags>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                    method optional

                                                                                                                                                                                                                                                                                                                                                                                                                                                    optional: () => DateSchema<TType | undefined, TContext, TDefault, TFlags>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                      method required

                                                                                                                                                                                                                                                                                                                                                                                                                                                      required: (
                                                                                                                                                                                                                                                                                                                                                                                                                                                      msg?: Message
                                                                                                                                                                                                                                                                                                                                                                                                                                                      ) => DateSchema<NonNullable<TType>, TContext, TDefault, TFlags>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                        method strip

                                                                                                                                                                                                                                                                                                                                                                                                                                                        strip: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                        (enabled: false): DateSchema<
                                                                                                                                                                                                                                                                                                                                                                                                                                                        TType,
                                                                                                                                                                                                                                                                                                                                                                                                                                                        TContext,
                                                                                                                                                                                                                                                                                                                                                                                                                                                        TDefault,
                                                                                                                                                                                                                                                                                                                                                                                                                                                        UnsetFlag<TFlags, 's'>
                                                                                                                                                                                                                                                                                                                                                                                                                                                        >;
                                                                                                                                                                                                                                                                                                                                                                                                                                                        (enabled?: true): DateSchema<
                                                                                                                                                                                                                                                                                                                                                                                                                                                        TType,
                                                                                                                                                                                                                                                                                                                                                                                                                                                        TContext,
                                                                                                                                                                                                                                                                                                                                                                                                                                                        TDefault,
                                                                                                                                                                                                                                                                                                                                                                                                                                                        SetFlag<TFlags, 's'>
                                                                                                                                                                                                                                                                                                                                                                                                                                                        >;
                                                                                                                                                                                                                                                                                                                                                                                                                                                        };

                                                                                                                                                                                                                                                                                                                                                                                                                                                          interface ISchema

                                                                                                                                                                                                                                                                                                                                                                                                                                                          interface ISchema<T, C = any, F extends Flags = any, D = any> {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                            method asNestedTest

                                                                                                                                                                                                                                                                                                                                                                                                                                                            asNestedTest: (config: NestedTestConfig) => Test;

                                                                                                                                                                                                                                                                                                                                                                                                                                                              method cast

                                                                                                                                                                                                                                                                                                                                                                                                                                                              cast: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                              (value: any, options?: CastOptions$1<C>): T;
                                                                                                                                                                                                                                                                                                                                                                                                                                                              (value: any, options: CastOptionalityOptions<C>): T;
                                                                                                                                                                                                                                                                                                                                                                                                                                                              };

                                                                                                                                                                                                                                                                                                                                                                                                                                                                method describe

                                                                                                                                                                                                                                                                                                                                                                                                                                                                describe: (options?: ResolveOptions<C>) => SchemaFieldDescription;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  method resolve

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  resolve: (options: ResolveOptions<C>) => ISchema<T, C, F>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                    method validate

                                                                                                                                                                                                                                                                                                                                                                                                                                                                    validate: (value: any, options?: ValidateOptions<C>) => Promise<T>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      interface LocaleObject

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      interface LocaleObject {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        property array

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        array?: ArrayLocale;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                          property boolean

                                                                                                                                                                                                                                                                                                                                                                                                                                                                          boolean?: BooleanLocale;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            property date

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            date?: DateLocale;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                              property mixed

                                                                                                                                                                                                                                                                                                                                                                                                                                                                              mixed?: MixedLocale;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                property number

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                number?: NumberLocale;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  property object

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  object?: ObjectLocale;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    property string

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    string?: StringLocale;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      property tuple

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      tuple?: TupleLocale;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        interface MessageParams

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        interface MessageParams {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          property label

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          label: string;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            property originalPath

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            originalPath: string;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              property originalValue

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              originalValue: any;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                property path

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                path: string;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  property spec

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  spec: SchemaSpec<any> & Record<string, unknown>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    property type

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    type: string;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      property value

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      value: any;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        interface MixedOptions

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        interface MixedOptions<TType> {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          property check

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          check?: TypeGuard<TType>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            property type

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            type?: string;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              interface MixedSchema

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              interface MixedSchema<
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              TType extends Maybe<AnyPresentValue> = AnyPresentValue | undefined,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              TContext = AnyObject,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              TDefault = undefined,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              TFlags extends Flags = ''
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              > extends Schema<TType, TContext, TDefault, TFlags> {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                method concat

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                concat: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <IT, IC, ID, IF extends Flags>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                schema: MixedSchema<IT, IC, ID, IF>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ): MixedSchema<Concat<TType, IT>, TContext & IC, ID, TFlags | IF>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <IT, IC, ID, IF extends Flags>(schema: Schema<IT, IC, ID, IF>): MixedSchema<
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Concat<TType, IT>,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                TContext & IC,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ID,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                TFlags | IF
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                >;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                (schema: this): this;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                };

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  method default

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  default: <D extends TType>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  def: DefaultThunk<D, TContext>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  ) => MixedSchema<TType, TContext, D, ToggleDefault<TFlags, D>>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    method defined

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    defined: (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    msg?: Message
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ) => MixedSchema<Defined<TType>, TContext, TDefault, TFlags>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      method nonNullable

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      nonNullable: (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      msg?: Message
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      ) => MixedSchema<Exclude<TType, null>, TContext, TDefault, TFlags>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        method notRequired

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        notRequired: () => MixedSchema<Maybe<TType>, TContext, TDefault, TFlags>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          method nullable

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          nullable: (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          msg?: Message
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          ) => MixedSchema<TType | null, TContext, TDefault, TFlags>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            method optional

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            optional: () => MixedSchema<TType | undefined, TContext, TDefault, TFlags>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              method required

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              required: (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              msg?: Message
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              ) => MixedSchema<NonNullable<TType>, TContext, TDefault, TFlags>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                method strip

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                strip: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                (enabled: false): MixedSchema<
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                TType,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                TContext,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                TDefault,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                UnsetFlag<TFlags, 's'>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                >;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                (enabled?: true): MixedSchema<
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                TType,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                TContext,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                TDefault,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                SetFlag<TFlags, 's'>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                >;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                };

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  interface NumberSchema

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  interface NumberSchema<
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  TType extends Maybe<number> = number | undefined,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  TContext = AnyObject,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  TDefault = undefined,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  TFlags extends Flags = ''
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  > extends Schema<TType, TContext, TDefault, TFlags> {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    method concat

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    concat: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <UType extends number, UContext, UFlags extends Flags, UDefault>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    schema: NumberSchema<UType, UContext, UDefault, UFlags>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ): NumberSchema<
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Concat<TType, UType>,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    TContext & UContext,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    UDefault,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    TFlags | UFlags
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    >;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    (schema: this): this;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    };

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      method default

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      default: <D extends TType>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      def: DefaultThunk<D, TContext>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      ) => NumberSchema<TType, TContext, D, ToggleDefault<TFlags, D>>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        method defined

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        defined: (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        msg?: Message
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ) => NumberSchema<Defined<TType>, TContext, TDefault, TFlags>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          method nonNullable

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          nonNullable: (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          msg?: Message
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          ) => NumberSchema<NotNull<TType>, TContext, TDefault, TFlags>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            method notRequired

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            notRequired: () => NumberSchema<Maybe<TType>, TContext, TDefault, TFlags>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              method nullable

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              nullable: (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              msg?: Message
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              ) => NumberSchema<TType | null, TContext, TDefault, TFlags>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                method optional

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                optional: () => NumberSchema<TType | undefined, TContext, TDefault, TFlags>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  method required

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  required: (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  msg?: Message
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  ) => NumberSchema<NonNullable<TType>, TContext, TDefault, TFlags>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    method strip

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    strip: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    (enabled: false): NumberSchema<
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    TType,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    TContext,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    TDefault,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    UnsetFlag<TFlags, 's'>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    >;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    (enabled?: true): NumberSchema<
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    TType,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    TContext,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    TDefault,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    SetFlag<TFlags, 's'>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    >;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    };

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      interface ObjectSchema

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      interface ObjectSchema<
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      TIn extends Maybe<AnyObject>,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      TContext = AnyObject,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      TDefault = any,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      TFlags extends Flags = ''
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      > extends Schema<MakeKeysOptional<TIn>, TContext, TDefault, TFlags> {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        method default

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        default: <D extends AnyObject>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        def: DefaultThunk<D, TContext>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ) => ObjectSchema<TIn, TContext, D, ToggleDefault<TFlags, 'd'>>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          method defined

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          defined: (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          msg?: Message
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          ) => ObjectSchema<Defined<TIn>, TContext, TDefault, TFlags>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            method nonNullable

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            nonNullable: (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            msg?: Message
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            ) => ObjectSchema<NotNull<TIn>, TContext, TDefault, TFlags>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              method notRequired

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              notRequired: () => ObjectSchema<Maybe<TIn>, TContext, TDefault, TFlags>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                method nullable

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                nullable: (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                msg?: Message
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ) => ObjectSchema<TIn | null, TContext, TDefault, TFlags>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  method optional

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  optional: () => ObjectSchema<TIn | undefined, TContext, TDefault, TFlags>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    method required

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    required: (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    msg?: Message
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ) => ObjectSchema<NonNullable<TIn>, TContext, TDefault, TFlags>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      method strip

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      strip: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      (enabled: false): ObjectSchema<
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      TIn,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      TContext,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      TDefault,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      UnsetFlag<TFlags, 's'>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      >;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      (enabled?: true): ObjectSchema<
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      TIn,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      TContext,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      TDefault,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      SetFlag<TFlags, 's'>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      >;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      };

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        interface Schema

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        interface Schema<
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        TType = any,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        TContext = any,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        TDefault = any,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        TFlags extends Flags = ''
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        > {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          property equals

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          equals: Schema['oneOf'];

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            property is

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            is: Schema['oneOf'];

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              property nope

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              nope: Schema['notOneOf'];

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                property not

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                not: Schema['notOneOf'];

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  method validateAt

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  validateAt: (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  path: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  value: any,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  options?: ValidateOptions<TContext>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  ) => Promise<any>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    method validateSyncAt

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    validateSyncAt: (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    path: string,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    value: any,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    options?: ValidateOptions<TContext>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ) => any;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      interface SchemaDescription

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      interface SchemaDescription {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        property default

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        default?: unknown;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          property label

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          label?: string;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            property meta

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            meta?: SchemaMetadata;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              property notOneOf

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              notOneOf: unknown[];

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                property nullable

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                nullable: boolean;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  property oneOf

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  oneOf: unknown[];

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    property optional

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    optional: boolean;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      property tests

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      tests: Array<{
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      name?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      params: ExtraParams | undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      }>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        property type

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        type: string;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          interface SchemaInnerTypeDescription

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          interface SchemaInnerTypeDescription extends SchemaDescription {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            property innerType

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            innerType?: SchemaFieldDescription | SchemaFieldDescription[];

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              interface SchemaLazyDescription

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              interface SchemaLazyDescription {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                property label

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                label?: string;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  property meta

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  meta?: SchemaMetadata;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    property type

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    type: string;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      interface SchemaObjectDescription

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      interface SchemaObjectDescription extends SchemaDescription {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        property fields

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        fields: Record<string, SchemaFieldDescription>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          interface SchemaRefDescription

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          interface SchemaRefDescription {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            property key

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            key: string;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              property type

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              type: 'ref';

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                interface StringSchema

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                interface StringSchema<
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                TType extends Maybe<string> = string | undefined,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                TContext = AnyObject,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                TDefault = undefined,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                TFlags extends Flags = ''
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                > extends Schema<TType, TContext, TDefault, TFlags> {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  method concat

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  concat: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  <UType extends string, UContext, UDefault, UFlags extends Flags>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  schema: StringSchema<UType, UContext, UDefault, UFlags>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  ): StringSchema<
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Concat<TType, UType>,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  TContext & UContext,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  UDefault,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  TFlags | UFlags
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  >;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  (schema: this): this;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  };

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    method default

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    default: <D extends TType>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    def: DefaultThunk<D, TContext>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ) => StringSchema<TType, TContext, D, ToggleDefault<TFlags, D>>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      method defined

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      defined: (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      msg?: Message
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      ) => StringSchema<Defined<TType>, TContext, TDefault, TFlags>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        method nonNullable

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        nonNullable: (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        msg?: Message
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ) => StringSchema<NotNull<TType>, TContext, TDefault, TFlags>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          method notRequired

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          notRequired: () => StringSchema<Maybe<TType>, TContext, TDefault, TFlags>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            method nullable

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            nullable: (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            msg?: Message
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            ) => StringSchema<TType | null, TContext, TDefault, TFlags>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              method oneOf

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              oneOf: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              <U extends TType>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              arrayOfValues: ReadonlyArray<U | Reference<U>>,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              message?: MixedLocale['oneOf']
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              ): StringSchema<U | Optionals<TType>, TContext, TDefault, TFlags>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              enums: readonly (Reference<unknown> | TType)[],
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              message?: Message<{ values: any }>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              ): this;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              };

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                method optional

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                optional: () => StringSchema<TType | undefined, TContext, TDefault, TFlags>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  method required

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  required: (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  msg?: Message
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  ) => StringSchema<NonNullable<TType>, TContext, TDefault, TFlags>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    method strip

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    strip: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    (enabled: false): StringSchema<
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    TType,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    TContext,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    TDefault,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    UnsetFlag<TFlags, 's'>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    >;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    (enabled?: true): StringSchema<
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    TType,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    TContext,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    TDefault,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    SetFlag<TFlags, 's'>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    >;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    };

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      interface TupleSchema

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      interface TupleSchema<
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      TType extends Maybe<AnyTuple> = AnyTuple | undefined,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      TContext = AnyObject,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      TDefault = undefined,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      TFlags extends Flags = ''
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      > extends Schema<TType, TContext, TDefault, TFlags> {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        method concat

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        concat: <TOther extends TupleSchema<any, any, undefined, ''>>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        schema: TOther
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ) => TOther;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          method default

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          default: <D extends TType>(
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          def: DefaultThunk<D, TContext>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          ) => TupleSchema<TType, TContext, D, ToggleDefault<TFlags, D>>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            method defined

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            defined: (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            msg?: Message
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            ) => TupleSchema<Defined<TType>, TContext, TDefault, TFlags>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              method nonNullable

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              nonNullable: (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              msg?: Message
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              ) => TupleSchema<NotNull<TType>, TContext, TDefault, TFlags>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                method notRequired

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                notRequired: () => TupleSchema<Maybe<TType>, TContext, TDefault, TFlags>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  method nullable

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  nullable: (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  msg?: Message
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  ) => TupleSchema<TType | null, TContext, TDefault, TFlags>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    method optional

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    optional: () => TupleSchema<TType | undefined, TContext, TDefault, TFlags>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      method required

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      required: (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      msg?: Message
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      ) => TupleSchema<NonNullable<TType>, TContext, TDefault, TFlags>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        method strip

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        strip: {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        (enabled: false): TupleSchema<
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        TType,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        TContext,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        TDefault,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        UnsetFlag<TFlags, 's'>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        >;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        (enabled?: true): TupleSchema<
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        TType,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        TContext,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        TDefault,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        SetFlag<TFlags, 's'>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        >;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        };

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          interface ValidateOptions

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          interface ValidateOptions<TContext = {}> {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            property abortEarly

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            abortEarly?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Return from validation methods on the first error rather than after all validations run. Default - true

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            property context

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            context?: TContext;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Any context needed for validating schema conditions (see: when())

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            property disableStackTrace

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            disableStackTrace?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • When true ValidationError instance won't include stack trace information. Default - false

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            property recursive

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            recursive?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • When false validations will not descend into nested schema (relevant for objects or arrays). Default - true

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            property strict

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            strict?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Only validate the input, skipping type casting and transformation. Default - false

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            property stripUnknown

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            stripUnknown?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Remove unspecified keys from objects. Default - false

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Type Aliases

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            type AnyMessageParams

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            type AnyMessageParams = MessageParams & ExtraParams;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              type AnyObject

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              type AnyObject = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              [k: string]: any;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              };

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                type AnyObjectSchema

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                type AnyObjectSchema = ObjectSchema<any, any, any, any>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  type AnySchema

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  type AnySchema<TType = any, C = any, D = any, F extends Flags = Flags> = Schema<
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  TType,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  C,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  D,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  F
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  >;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    type Asserts

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    type InferType<T extends ISchema<any, any>> = T['__outputType'];

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      type CastOptions

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      type CastOptions = Omit<CastOptions$1, 'path' | 'resolved'>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        type CreateErrorOptions

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        type CreateErrorOptions = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        path?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        message?: Message<any>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        params?: ExtraParams;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        type?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        disableStackTrace?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        };

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          type DefaultFromShape

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          type DefaultFromShape<Shape extends ObjectShape> = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          [K in keyof Shape]: Shape[K] extends ISchema<any>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          ? Shape[K]['__default']
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          : undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          };

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            type DefaultThunk

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            type DefaultThunk<T, C = any> = T | ((options?: ResolveOptions<C>) => T);

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              type Defined

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              type Defined<T> = T extends undefined ? never : T;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                type Flags

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                type Flags = 's' | 'd' | '';

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  type InferType

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  type InferType<T extends ISchema<any, any>> = T['__outputType'];

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    type MakePartial

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    type MakePartial<T extends object> = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    [k in OptionalKeys<T> as T[k] extends never ? never : k]?: T[k];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    } & {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    [k in RequiredKeys<T> as T[k] extends never ? never : k]: T[k];
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    };

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      type Maybe

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      type Maybe<T> = T | null | undefined;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        type Message

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        type Message<Extra extends Record<string, unknown> = any> =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | string
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | ((params: Extra & MessageParams) => unknown)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | Record<PropertyKey, unknown>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          type MixedTypeGuard

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          type TypeGuard<TType> = (value: any) => value is NonNullable<TType>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            type NotNull

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            type NotNull<T> = T extends null ? never : T;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              type ObjectShape

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              type ObjectShape = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              [k: string]: ISchema<any> | Reference;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              };

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                type Optionals

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                type Optionals<T> = Extract<T, null | undefined>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  type SchemaFieldDescription

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  type SchemaFieldDescription =
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | SchemaDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | SchemaRefDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | SchemaObjectDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | SchemaInnerTypeDescription
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | SchemaLazyDescription;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    type SchemaMetadata

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    type SchemaMetadata = keyof CustomSchemaMetadata extends never
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ? Record<PropertyKey, any>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    : CustomSchemaMetadata;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      type SchemaSpec

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      type SchemaSpec<TDefault> = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      coerce: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      nullable: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      optional: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      default?: TDefault | (() => TDefault);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      abortEarly?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      strip?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      strict?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      recursive?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      disableStackTrace?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      label?: string | undefined;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      meta?: SchemaMetadata;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      };

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        type SetFlag

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        type SetFlag<Old extends Flags, F extends Flags> = Exclude<Old, ''> | F;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          type TestConfig

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          type TestConfig<TValue = unknown, TContext = {}> = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          name?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          message?: Message<any>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          test: TestFunction<TValue, TContext>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          params?: ExtraParams;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          exclusive?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          skipAbsent?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          };

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            type TestContext

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            type TestContext<TContext = {}> = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            path: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            options: ValidateOptions<TContext>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            originalValue: any;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            parent: any;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            from?: Array<{
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            schema: ISchema<any, TContext>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            value: any;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            }>;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            schema: any;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            resolve: <T>(value: T | Reference<T>) => T;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            createError: (params?: CreateErrorOptions) => ValidationError;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            };

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              type TestFunction

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              type TestFunction<T = unknown, TContext = {}> = (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              this: TestContext<TContext>,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              value: T,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              context: TestContext<TContext>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              ) => void | boolean | ValidationError | Promise<boolean | ValidationError>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                type TestOptions

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                type TestOptions<TSchema extends AnySchema = AnySchema> = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                value: any;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                path?: string;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                options: InternalOptions;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                originalValue: any;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                schema: TSchema;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                };

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  type ToggleDefault

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  type ToggleDefault<F extends Flags, D> = Preserve<D, undefined> extends never
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  ? SetFlag<F, 'd'>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  : UnsetFlag<F, 'd'>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    type TypeFromShape

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    type TypeFromShape<S extends ObjectShape, _C> = {
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    [K in keyof S]: S[K] extends ISchema<any>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ? ResolveStrip<S[K]>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    : S[K] extends Reference<infer T>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ? T
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    : unknown;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    };

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      type UnsetFlag

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      type UnsetFlag<Old extends Flags, F extends Flags> = Exclude<Old, F> extends never
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      ? ''
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      : Exclude<Old, F>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Namespaces

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        namespace array

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        namespace array {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          variable prototype

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          var prototype: ArraySchema<any, any, any, any>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            namespace bool

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            namespace bool {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              variable prototype

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              var prototype: BooleanSchema<any, any, any, any>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                namespace boolean

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                namespace boolean {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  variable prototype

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  var prototype: BooleanSchema<any, any, any, any>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    namespace date

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    namespace date {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      variable INVALID_DATE

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      var INVALID_DATE: Date;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        variable prototype

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        var prototype: DateSchema<any, any, any, any>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          namespace mixed

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          namespace mixed {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            variable prototype

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            var prototype: MixedSchema<any, any, any, any>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              namespace number

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              namespace number {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                variable prototype

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                var prototype: NumberSchema<any, any, any, any>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  namespace object

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  namespace object {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    variable prototype

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    var prototype: ObjectSchema<any, any, any, any>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      namespace string

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      namespace string {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        variable prototype

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        var prototype: StringSchema<any, any, any, any>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          namespace tuple

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          namespace tuple {}

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            variable prototype

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            var prototype: TupleSchema<any, any, any, any>;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Package Files (1)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Dependencies (4)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Dev Dependencies (0)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              No dev dependencies.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Peer Dependencies (0)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              No peer dependencies.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Badge

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              To add a badge like this onejsDocs.io badgeto your package's README, use the codes available below.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              You may also use Shields.io to create a custom badge linking to https://www.jsdocs.io/package/yup.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • Markdown
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                [![jsDocs.io](https://img.shields.io/badge/jsDocs.io-reference-blue)](https://www.jsdocs.io/package/yup)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • HTML
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <a href="https://www.jsdocs.io/package/yup"><img src="https://img.shields.io/badge/jsDocs.io-reference-blue" alt="jsDocs.io"></a>