Skip to main content

Class: ObjectValidator<T, I>

Type parameters

NameType
Textends object
IUndefinedToOptional<T>

Hierarchy

Constructors

constructor

new ObjectValidator<T, I>(shape, strategy?, constraints?): ObjectValidator<T, I>

Type parameters

NameType
Textends object
IUndefinedToOptional<T>

Parameters

NameTypeDefault value
shapeMappedObjectValidator<T>undefined
strategyObjectValidatorStrategyObjectValidatorStrategy.Ignore
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:17


description

Optional description: string

Inherited from

BaseValidator.description

Defined in

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


handleStrategy

Private Readonly handleStrategy: (value: object) => Result<I, CombinedPropertyError>

Type declaration

▸ (value): Result<I, CombinedPropertyError>

Parameters
NameType
valueobject
Returns

Result<I, CombinedPropertyError>

Defined in

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


isValidationEnabled

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

Inherited from

BaseValidator.isValidationEnabled

Defined in

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


keys

Private Readonly keys: readonly keyof I[] = []

Defined in

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


parent

Protected Optional parent: object

Inherited from

BaseValidator.parent

Defined in

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


possiblyUndefinedKeys

Private Readonly possiblyUndefinedKeys: Map<keyof I, BaseValidator<unknown>>

Defined in

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


possiblyUndefinedKeysWithDefaults

Private Readonly possiblyUndefinedKeysWithDefaults: Map<keyof I, DefaultValidator<unknown>>

Defined in

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


requiredKeys

Private Readonly requiredKeys: Map<keyof I, BaseValidator<unknown>>

Defined in

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


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

Accessors

array

get array(): ArrayValidator<T[], T>

Returns

ArrayValidator<T[], T>

Inherited from

BaseValidator.array

Defined in

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


ignore

get ignore(): this

Returns

this

Defined in

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


nullable

get nullable(): UnionValidator<null | T>

Returns

UnionValidator<null | T>

Inherited from

BaseValidator.nullable

Defined in

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


nullish

get nullish(): UnionValidator<undefined | null | T>

Returns

UnionValidator<undefined | null | T>

Inherited from

BaseValidator.nullish

Defined in

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


optional

get optional(): UnionValidator<undefined | T>

Returns

UnionValidator<undefined | T>

Inherited from

BaseValidator.optional

Defined in

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


partial

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

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:96


passthrough

get passthrough(): this

Returns

this

Defined in

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


required

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

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:101


set

get set(): SetValidator<T>

Returns

SetValidator<T>

Inherited from

BaseValidator.set

Defined in

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


shouldRunConstraints

get shouldRunConstraints(): boolean

Returns

boolean

Inherited from

BaseValidator.shouldRunConstraints

Defined in

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


strict

get strict(): this

Returns

this

Defined in

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

Methods

addConstraint

addConstraint(constraint): this

Parameters

NameType
constraintIConstraint<I, I>

Returns

this

Inherited from

BaseValidator.addConstraint

Defined in

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


clone

clone(): this

Returns

this

Overrides

BaseValidator.clone

Defined in

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


default

default(value): DefaultValidator<Exclude<I, undefined>>

Parameters

NameType
valueExclude<I, undefined> | () => Exclude<I, undefined>

Returns

DefaultValidator<Exclude<I, undefined>>

Inherited from

BaseValidator.default

Defined in

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


describe

describe(description): this

Parameters

NameType
descriptionstring

Returns

this

Inherited from

BaseValidator.describe

Defined in

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


extend

extend<ET>(schema): ObjectValidator<T & ET, UndefinedToOptional<T & ET>>

Type parameters

NameType
ETextends object

Parameters

NameType
schemaObjectValidator<ET, UndefinedToOptional<ET>> | MappedObjectValidator<ET>

Returns

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

Defined in

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


getValidationEnabled

getValidationEnabled(): null | boolean

Returns

null | boolean

Inherited from

BaseValidator.getValidationEnabled

Defined in

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


handle

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

Parameters

NameType
valueunknown

Returns

Result<I, ValidationError | CombinedPropertyError>

Overrides

BaseValidator.handle

Defined in

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


handleIgnoreStrategy

handleIgnoreStrategy(value): Result<I, CombinedPropertyError>

Parameters

NameType
valueobject

Returns

Result<I, CombinedPropertyError>

Defined in

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


handlePassthroughStrategy

handlePassthroughStrategy(value): Result<I, CombinedPropertyError>

Parameters

NameType
valueobject

Returns

Result<I, CombinedPropertyError>

Defined in

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


handleStrictStrategy

handleStrictStrategy(value): Result<I, CombinedPropertyError>

Parameters

NameType
valueobject

Returns

Result<I, CombinedPropertyError>

Defined in

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


is

is<R>(value): value is R

Type parameters

NameType
RI

Parameters

NameType
valueunknown

Returns

value is R

Inherited from

BaseValidator.is

Defined in

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


omit

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

Type parameters

NameType
Kextends string | number | symbol

Parameters

NameType
keysreadonly K[]

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:124


or

or<O>(...predicates): UnionValidator<I | O>

Type parameters

Name
O

Parameters

NameType
...predicatesreadonly BaseValidator<O>[]

Returns

UnionValidator<I | O>

Inherited from

BaseValidator.or

Defined in

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


parse

parse<R>(value): R

Type parameters

NameType
RI

Parameters

NameType
valueunknown

Returns

R

Inherited from

BaseValidator.parse

Defined in

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


pick

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

Type parameters

NameType
Kextends string | number | symbol

Parameters

NameType
keysreadonly K[]

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:117


reshape

reshape(cb): this

Parameters

NameType
cb(input: I) => Result<I, Error>

Returns

this

Inherited from

BaseValidator.reshape

Defined in

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

reshape<R, O>(cb): BaseValidator<O>

Type parameters

NameType
Rextends Result<unknown, Error>
OInferResultType<R>

Parameters

NameType
cb(input: I) => R

Returns

BaseValidator<O>

Inherited from

BaseValidator.reshape

Defined in

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


run

run(value): Result<I, BaseError>

Parameters

NameType
valueunknown

Returns

Result<I, BaseError>

Inherited from

BaseValidator.run

Defined in

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


setParent

setParent(parent): this

Parameters

NameType
parentobject

Returns

this

Inherited from

BaseValidator.setParent

Defined in

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


setValidationEnabled

setValidationEnabled(isValidationEnabled): this

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

Parameters

NameTypeDescription
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:110


transform

transform(cb): this

Parameters

NameType
cb(value: I) => I

Returns

this

Inherited from

BaseValidator.transform

Defined in

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

transform<O>(cb): BaseValidator<O>

Type parameters

Name
O

Parameters

NameType
cb(value: I) => O

Returns

BaseValidator<O>

Inherited from

BaseValidator.transform

Defined in

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


when

when<Key, This>(key, options): this

Type parameters

NameType
Keyextends WhenKey
Thisextends BaseValidator<any> = ObjectValidator<T, I>

Parameters

NameType
keyKey
optionsWhenOptions<This, Key>

Returns

this

Inherited from

BaseValidator.when

Defined in

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