Skip to main content

Class: ObjectValidator<T, I>

Extends

Type Parameters

Type ParameterDefault type
T extends object-
IUndefinedToOptional<T>

Constructors

new ObjectValidator()

new ObjectValidator<T, I>(shape: MappedObjectValidator<T>, strategy: ObjectValidatorStrategy, validatorOptions: ValidatorOptions, constraints: readonly IConstraint<I, I>[]): ObjectValidator<T, I>

Parameters

ParameterTypeDefault value
shapeMappedObjectValidator<T>undefined
strategyObjectValidatorStrategyObjectValidatorStrategy.Ignore
validatorOptionsValidatorOptions{}
constraintsreadonly IConstraint<I, I>[][]

Returns

ObjectValidator<T, I>

Overrides

BaseValidator.constructor

Defined in

projects/shapeshift/src/validators/ObjectValidator.ts:25

Properties

constraints

protected constraints: readonly IConstraint<I, I>[] = []

Inherited from

BaseValidator.constraints

Defined in

projects/shapeshift/src/validators/BaseValidator.ts:19


description?

optional description: string

Inherited from

BaseValidator.description

Defined in

projects/shapeshift/src/validators/BaseValidator.ts:16


isValidationEnabled

protected isValidationEnabled: null | boolean | () => boolean = null

Inherited from

BaseValidator.isValidationEnabled

Defined in

projects/shapeshift/src/validators/BaseValidator.ts:20


parent?

protected optional parent: object

Inherited from

BaseValidator.parent

Defined in

projects/shapeshift/src/validators/BaseValidator.ts:18


shape

readonly shape: MappedObjectValidator<T>

Defined in

projects/shapeshift/src/validators/ObjectValidator.ts:16


strategy

readonly strategy: ObjectValidatorStrategy

Defined in

projects/shapeshift/src/validators/ObjectValidator.ts:17


validatorOptions

protected validatorOptions: ValidatorOptions

Inherited from

BaseValidator.validatorOptions

Defined in

projects/shapeshift/src/validators/BaseValidator.ts:17

Accessors

shouldRunConstraints

get protected shouldRunConstraints(): boolean

Returns

boolean

Inherited from

BaseValidator.shouldRunConstraints

Defined in

projects/shapeshift/src/validators/BaseValidator.ts:143

Methods

addConstraint()

protected addConstraint(constraint: IConstraint<I, I>, validatorOptions: ValidatorOptions): this

Parameters

ParameterType
constraintIConstraint<I, I>
validatorOptionsValidatorOptions

Returns

this

Inherited from

BaseValidator.addConstraint

Defined in

projects/shapeshift/src/validators/BaseValidator.ts:155


array()

array(options: ValidatorOptions): ArrayValidator<I[], I>

Parameters

ParameterType
optionsValidatorOptions

Returns

ArrayValidator<I[], I>

Inherited from

BaseValidator.array

Defined in

projects/shapeshift/src/validators/BaseValidator.ts:44


clone()

protected clone(): this

Returns

this

Overrides

BaseValidator.clone

Defined in

projects/shapeshift/src/validators/ObjectValidator.ts:172


default()

default(value: Exclude<I, undefined> | () => Exclude<I, undefined>, options: ValidatorOptions): DefaultValidator<Exclude<I, undefined>>

Parameters

ParameterType
valueExclude<I, undefined> | () => Exclude<I, undefined>
optionsValidatorOptions

Returns

DefaultValidator<Exclude<I, undefined>>

Inherited from

BaseValidator.default

Defined in

projects/shapeshift/src/validators/BaseValidator.ts:81


describe()

describe(description: string): this

Parameters

ParameterType
descriptionstring

Returns

this

Inherited from

BaseValidator.describe

Defined in

projects/shapeshift/src/validators/BaseValidator.ts:96


extend()

extend<ET>(schema: ObjectValidator<ET, UndefinedToOptional<ET>> | MappedObjectValidator<ET>, options: ValidatorOptions): ObjectValidator<T & ET, UndefinedToOptional<T & ET>>

Type Parameters

Type Parameter
ET extends object

Parameters

ParameterType
schemaObjectValidator<ET, UndefinedToOptional<ET>> | MappedObjectValidator<ET>
optionsValidatorOptions

Returns

ObjectValidator<T & ET, UndefinedToOptional<T & ET>>

Defined in

projects/shapeshift/src/validators/ObjectValidator.ts:113


getValidationEnabled()

getValidationEnabled(): null | boolean

Returns

null | boolean

Inherited from

BaseValidator.getValidationEnabled

Defined in

projects/shapeshift/src/validators/BaseValidator.ts:139


handle()

protected handle(value: unknown): Result<I, ValidationError | CombinedPropertyError>

Parameters

ParameterType
valueunknown

Returns

Result<I, ValidationError | CombinedPropertyError>

Overrides

BaseValidator.handle

Defined in

projects/shapeshift/src/validators/ObjectValidator.ts:141


ignore()

ignore(options: ValidatorOptions): this

Parameters

ParameterType
optionsValidatorOptions

Returns

this

Defined in

projects/shapeshift/src/validators/ObjectValidator.ts:89


is()

is<R>(value: unknown): value is R

Type Parameters

Type ParameterDefault type
RI

Parameters

ParameterType
valueunknown

Returns

value is R

Inherited from

BaseValidator.is

Defined in

projects/shapeshift/src/validators/BaseValidator.ts:124


nullable()

nullable(options: ValidatorOptions): UnionValidator<null | I>

Parameters

ParameterType
optionsValidatorOptions

Returns

UnionValidator<null | I>

Inherited from

BaseValidator.nullable

Defined in

projects/shapeshift/src/validators/BaseValidator.ts:36


nullish()

nullish(options: ValidatorOptions): UnionValidator<undefined | null | I>

Parameters

ParameterType
optionsValidatorOptions

Returns

UnionValidator<undefined | null | I>

Inherited from

BaseValidator.nullish

Defined in

projects/shapeshift/src/validators/BaseValidator.ts:40


omit()

omit<K>(keys: readonly K[], options: ValidatorOptions): ObjectValidator<{ [Key in string | number | symbol]: I[Key] }, UndefinedToOptional<{ [Key in string | number | symbol]: I[Key] }>>

Type Parameters

Type Parameter
K extends string | number | symbol

Parameters

ParameterType
keysreadonly K[]
optionsValidatorOptions

Returns

ObjectValidator<{ [Key in string | number | symbol]: I[Key] }, UndefinedToOptional<{ [Key in string | number | symbol]: I[Key] }>>

Defined in

projects/shapeshift/src/validators/ObjectValidator.ts:131


optional()

optional(options: ValidatorOptions): UnionValidator<undefined | I>

Parameters

ParameterType
optionsValidatorOptions

Returns

UnionValidator<undefined | I>

Inherited from

BaseValidator.optional

Defined in

projects/shapeshift/src/validators/BaseValidator.ts:32


or()

or<O>(...predicates: readonly BaseValidator<O>[]): UnionValidator<I | O>

Type Parameters

Type Parameter
O

Parameters

ParameterType
...predicatesreadonly BaseValidator<O>[]

Returns

UnionValidator<I | O>

Inherited from

BaseValidator.or

Defined in

projects/shapeshift/src/validators/BaseValidator.ts:52


parse()

parse<R>(value: unknown): R

Type Parameters

Type ParameterDefault type
RI

Parameters

ParameterType
valueunknown

Returns

R

Inherited from

BaseValidator.parse

Defined in

projects/shapeshift/src/validators/BaseValidator.ts:114


partial()

partial(options: ValidatorOptions): ObjectValidator<{ [Key in string | number | symbol]?: I[Key] }, UndefinedToOptional<{ [Key in string | number | symbol]?: I[Key] }>>

Parameters

ParameterType
optionsValidatorOptions

Returns

ObjectValidator<{ [Key in string | number | symbol]?: I[Key] }, UndefinedToOptional<{ [Key in string | number | symbol]?: I[Key] }>>

Defined in

projects/shapeshift/src/validators/ObjectValidator.ts:97


passthrough()

passthrough(options: ValidatorOptions): this

Parameters

ParameterType
optionsValidatorOptions

Returns

this

Defined in

projects/shapeshift/src/validators/ObjectValidator.ts:93


pick()

pick<K>(keys: readonly K[], options: ValidatorOptions): ObjectValidator<{ [Key in string | number | symbol]: I[Key] }, UndefinedToOptional<{ [Key in string | number | symbol]: I[Key] }>>

Type Parameters

Type Parameter
K extends string | number | symbol

Parameters

ParameterType
keysreadonly K[]
optionsValidatorOptions

Returns

ObjectValidator<{ [Key in string | number | symbol]: I[Key] }, UndefinedToOptional<{ [Key in string | number | symbol]: I[Key] }>>

Defined in

projects/shapeshift/src/validators/ObjectValidator.ts:121


required()

required(options: ValidatorOptions): ObjectValidator<{ [Key in string | number | symbol]-?: I[Key] }, UndefinedToOptional<{ [Key in string | number | symbol]-?: I[Key] }>>

Parameters

ParameterType
optionsValidatorOptions

Returns

ObjectValidator<{ [Key in string | number | symbol]-?: I[Key] }, UndefinedToOptional<{ [Key in string | number | symbol]-?: I[Key] }>>

Defined in

projects/shapeshift/src/validators/ObjectValidator.ts:102


reshape()

reshape(cb, options)

reshape(cb: (input: I) => Result<I, Error>, options?: ValidatorOptions): this

Parameters
ParameterType
cb(input: I) => Result<I, Error>
options?ValidatorOptions
Returns

this

Inherited from

BaseValidator.reshape

Defined in

projects/shapeshift/src/validators/BaseValidator.ts:67

reshape(cb, options)

reshape<R, O>(cb: (input: I) => R, options?: ValidatorOptions): BaseValidator<O>

Type Parameters
Type ParameterDefault type
R extends Result<unknown, Error>-
OInferResultType<R>
Parameters
ParameterType
cb(input: I) => R
options?ValidatorOptions
Returns

BaseValidator<O>

Inherited from

BaseValidator.reshape

Defined in

projects/shapeshift/src/validators/BaseValidator.ts:68


run()

run(value: unknown): Result<I, BaseError>

Parameters

ParameterType
valueunknown

Returns

Result<I, BaseError>

Inherited from

BaseValidator.run

Defined in

projects/shapeshift/src/validators/BaseValidator.ts:102


set()

set(options: ValidatorOptions): SetValidator<I>

Parameters

ParameterType
optionsValidatorOptions

Returns

SetValidator<I>

Inherited from

BaseValidator.set

Defined in

projects/shapeshift/src/validators/BaseValidator.ts:48


setParent()

setParent(parent: object): this

Parameters

ParameterType
parentobject

Returns

this

Inherited from

BaseValidator.setParent

Defined in

projects/shapeshift/src/validators/BaseValidator.ts:27


setValidationEnabled()

setValidationEnabled(isValidationEnabled: null | boolean | () => boolean): this

Sets if the validator should also run constraints or just do basic checks.

Parameters

ParameterTypeDescription
isValidationEnablednull | boolean | () => booleanWhether this validator should be enabled or disabled. You can pass boolean or a function returning boolean which will be called just before parsing. Set to null to go off of the global configuration.

Returns

this

Inherited from

BaseValidator.setValidationEnabled

Defined in

projects/shapeshift/src/validators/BaseValidator.ts:133


strict()

strict(options: ValidatorOptions): this

Parameters

ParameterType
optionsValidatorOptions

Returns

this

Defined in

projects/shapeshift/src/validators/ObjectValidator.ts:85


transform()

transform(cb, options)

transform(cb: (value: I) => I, options?: ValidatorOptions): this

Parameters
ParameterType
cb(value: I) => I
options?ValidatorOptions
Returns

this

Inherited from

BaseValidator.transform

Defined in

projects/shapeshift/src/validators/BaseValidator.ts:56

transform(cb, options)

transform<O>(cb: (value: I) => O, options?: ValidatorOptions): BaseValidator<O>

Type Parameters
Type Parameter
O
Parameters
ParameterType
cb(value: I) => O
options?ValidatorOptions
Returns

BaseValidator<O>

Inherited from

BaseValidator.transform

Defined in

projects/shapeshift/src/validators/BaseValidator.ts:57


when()

when<Key, This>(key: Key, options: WhenOptions<This, Key>, validatorOptions?: ValidatorOptions): this

Type Parameters

Type ParameterDefault type
Key extends WhenKey-
This extends BaseValidator<any>ObjectValidator<T, I>

Parameters

ParameterType
keyKey
optionsWhenOptions<This, Key>
validatorOptions?ValidatorOptions

Returns

this

Inherited from

BaseValidator.when

Defined in

projects/shapeshift/src/validators/BaseValidator.ts:88