ObjectValidator
Table of contents
Extends Validator<Shape>.
class ObjectValidator<Shape extends object> extends Validator<Shape> {}
Constructs a new instance of the ObjectValidator class
| Name | Description |
|---|---|
| |
| |
Properties
readonly config: {
readonly [K in keyof Shape]: Validatable<Shape[K]>
}
Validatorreadonly validateUsingKnownGoodVersionFn?:
| undefined
| ValidatorUsingKnownGoodVersionFn<T, T>
Validatorreadonly validationFn: ValidatorFn<T>
Methods
allowUnknownProperties(): ObjectValidator<Shape>
ValidatorRefine this validation with an additional check that doesn't change the resulting value.
check(name: string, checkFn: (value: T) => void): Validator<T>
const numberLessThan10Validator = T.number.check((value) => {
if (value >= 10) {
throw new ValidationError(`Expected number less than 10, got ${value}`)
}
})
| Name | Description |
|---|---|
| |
| |
Validator<T>
Extend an object validator by adding additional properties.
extend<Extension extends Record<string, unknown>>(extension: {
readonly [K in keyof Extension]: Validatable<Extension[K]>
}): ObjectValidator<Shape & Extension>
const animalValidator = T.object({
name: T.string,
})
const catValidator = animalValidator.extend({
meowVolume: T.number,
})
| Name | Description |
|---|---|
| |
ObjectValidator<Shape & Extension>
ValidatorChecks that the passed value is of the correct type.
isValid(value: unknown): value is T
| Name | Description |
|---|---|
| |
value is T
ValidatorReturns a new validator that also accepts null or undefined. The resulting value will always be null.
nullable(): Validator<null | T>
ValidatorReturns a new validator that also accepts null or undefined. The resulting value will always be null.
optional(): Validator<T | undefined>
ValidatorRefine 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>
| Name | Description |
|---|---|
| |
Validator<U>
ValidatorAsserts 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): T
| Name | Description |
|---|---|
| |
T
ValidatorvalidateUsingKnownGoodVersion(knownGoodValue: T, newValue: unknown): T
| Name | Description |
|---|---|
| |
| |
T

