DictValidator
Table of contents
Extends Validator<Record<Key, Value>>
.
class DictValidator<Key extends string, Value> extends Validator<
Record<Key, Value>
> {}
Constructs a new instance of the DictValidator
class
Name | Description |
---|---|
|
|
|
|
Properties
readonly keyValidator: Validatable<Key>
Validator
readonly validateUsingKnownGoodVersionFn?:
| undefined
| ValidatorUsingKnownGoodVersionFn<T, T>
Validator
readonly validationFn: ValidatorFn<T>
readonly valueValidator: Validatable<Value>
Methods
Validator
Refine 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>
Validator
Checks that the passed value is of the correct type.
isValid(value: unknown): value is T
Name | Description |
---|---|
|
|
value is T
Validator
Returns a new validator that also accepts null or undefined. The resulting value will always be null.
nullable(): Validator<null | T>
Validator
Returns a new validator that also accepts null or undefined. The resulting value will always be null.
optional(): Validator<T | undefined>
Validator
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>
Name | Description |
---|---|
|
|
Validator<U>
Validator
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): T
Name | Description |
---|---|
|
|
T
Validator
validateUsingKnownGoodVersion(knownGoodValue: T, newValue: unknown): T
Name | Description |
---|---|
|
|
|
|
T