UnionValidator
See source codeTable of contents
Extends Validator<TypeOf<Config[keyof Config]> | UnknownValue>.
class UnionValidator<
  Key extends string,
  Config extends UnionValidatorConfig<Key, Config>,
  UnknownValue = never,
> extends Validator<TypeOf<Config[keyof Config]> | UnknownValue> {}Constructor
Constructs a new instance of the UnionValidator class
Parameters
| Name | Description | 
|---|---|
  |  | 
  |  | 
  |  | 
  |  | 
Properties
validateUsingKnownGoodVersionFn
readonly validateUsingKnownGoodVersionFn?:
  | undefined
  | ValidatorUsingKnownGoodVersionFn<T, T>validationFn
readonly validationFn: ValidatorFn<T>Methods
check()
Refine this validation with an additional check that doesn't change the resulting value.
check(name: string, checkFn: (value: T) => void): Validator<T>Example
const numberLessThan10Validator = T.number.check((value) => {
  if (value >= 10) {
    throw new ValidationError(`Expected number less than 10, got ${value}`)
  }
})Parameters
| Name | Description | 
|---|---|
  |  | 
  |  | 
Returns
Validator<T>isValid()
Checks that the passed value is of the correct type.
isValid(value: unknown): value is TParameters
| Name | Description | 
|---|---|
  |  | 
Returns
value is Tnullable()
Returns a new validator that also accepts null or undefined. The resulting value will always be null.
nullable(): Validator<null | T>optional()
Returns a new validator that also accepts null or undefined. The resulting value will always be null.
optional(): Validator<T | undefined>refine()
Refine this validation to a new type. The passed-in validation function should throw an error if the value can't be converted to the new type, or return the new type otherwise.
refine<U>(otherValidationFn: (value: T) => U): Validator<U>Parameters
| Name | Description | 
|---|---|
  |  | 
Returns
Validator<U>validate()
Asserts that the passed value is of the correct type and returns it. The returned value is guaranteed to be referentially equal to the passed value.
validate(value: unknown): TParameters
| Name | Description | 
|---|---|
  |  | 
Returns
TvalidateUnknownVariants()
validateUnknownVariants<Unknown>(
  unknownValueValidation: (value: object, variant: string) => Unknown
): UnionValidator<Key, Config, Unknown>Parameters
| Name | Description | 
|---|---|
  |  | 
Returns
UnionValidator<Key, Config, Unknown>validateUsingKnownGoodVersion()
validateUsingKnownGoodVersion(knownGoodValue: T, newValue: unknown): TParameters
| Name | Description | 
|---|---|
  |  | 
  |  | 
Returns
T