Skip to main content

Class: ArrayValidator<T, I>

Defined in: projects/shapeshift/src/validators/ArrayValidator.ts:21

Extends

Type Parameters

Type ParameterDefault type
T extends unknown[]-
IT[number]

Constructors

new ArrayValidator()

new ArrayValidator<T, I>(validator: BaseValidator<I>, validatorOptions: ValidatorOptions, constraints: readonly IConstraint<T, T>[]): ArrayValidator<T, I>

Defined in: projects/shapeshift/src/validators/ArrayValidator.ts:24

Parameters

ParameterTypeDefault value
validatorBaseValidator<I>undefined
validatorOptionsValidatorOptions{}
constraintsreadonly IConstraint<T, T>[][]

Returns

ArrayValidator<T, I>

Overrides

BaseValidator.constructor

Properties

constraints

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

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

Inherited from

BaseValidator.constraints


description?

optional description: string

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

Inherited from

BaseValidator.description


isValidationEnabled

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

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

Inherited from

BaseValidator.isValidationEnabled


parent?

protected optional parent: object

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

Inherited from

BaseValidator.parent


validatorOptions

protected validatorOptions: ValidatorOptions

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

Inherited from

BaseValidator.validatorOptions

Accessors

shouldRunConstraints

Get Signature

get protected shouldRunConstraints(): boolean

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

Returns

boolean

Inherited from

BaseValidator.shouldRunConstraints

Methods

addConstraint()

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

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

Parameters

ParameterType
constraintIConstraint<T, T>
validatorOptionsValidatorOptions

Returns

this

Inherited from

BaseValidator.addConstraint


array()

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

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

Parameters

ParameterType
optionsValidatorOptions

Returns

ArrayValidator<T[], T>

Inherited from

BaseValidator.array


clone()

protected clone(): this

Defined in: projects/shapeshift/src/validators/ArrayValidator.ts:93

Returns

this

Overrides

BaseValidator.clone


default()

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

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

Parameters

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

Returns

DefaultValidator<Exclude<T, undefined>>

Inherited from

BaseValidator.default


describe()

describe(description: string): this

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

Parameters

ParameterType
descriptionstring

Returns

this

Inherited from

BaseValidator.describe


getValidationEnabled()

getValidationEnabled(): null | boolean

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

Returns

null | boolean

Inherited from

BaseValidator.getValidationEnabled


handle()

protected handle(values: unknown): Result<T, ValidationError | CombinedPropertyError>

Defined in: projects/shapeshift/src/validators/ArrayValidator.ts:97

Parameters

ParameterType
valuesunknown

Returns

Result<T, ValidationError | CombinedPropertyError>

Overrides

BaseValidator.handle


is()

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

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

Type Parameters

Type ParameterDefault type
R extends unknown[]T

Parameters

ParameterType
valueunknown

Returns

value is R

Inherited from

BaseValidator.is


lengthEqual()

lengthEqual<N>(length: N, options: ValidatorOptions): ArrayValidator<[...Tuple<I, N>[]], [...Tuple<I, N>[]][number]>

Defined in: projects/shapeshift/src/validators/ArrayValidator.ts:57

Type Parameters

Type Parameter
N extends number

Parameters

ParameterType
lengthN
optionsValidatorOptions

Returns

ArrayValidator<[...Tuple<I, N>[]], [...Tuple<I, N>[]][number]>


lengthGreaterThan()

lengthGreaterThan<N>(length: N, options: ValidatorOptions): ArrayValidator<[...Tuple<I, N>[], I, ...T[]], [...Tuple<I, N>[], I, ...T[]][number]>

Defined in: projects/shapeshift/src/validators/ArrayValidator.ts:43

Type Parameters

Type Parameter
N extends number

Parameters

ParameterType
lengthN
optionsValidatorOptions

Returns

ArrayValidator<[...Tuple<I, N>[], I, ...T[]], [...Tuple<I, N>[], I, ...T[]][number]>


lengthGreaterThanOrEqual()

lengthGreaterThanOrEqual<N>(length: N, options: ValidatorOptions): ArrayValidator<[...Tuple<I, N>[], ...T[]], [...Tuple<I, N>[], ...T[]][number]>

Defined in: projects/shapeshift/src/validators/ArrayValidator.ts:50

Type Parameters

Type Parameter
N extends number

Parameters

ParameterType
lengthN
optionsValidatorOptions

Returns

ArrayValidator<[...Tuple<I, N>[], ...T[]], [...Tuple<I, N>[], ...T[]][number]>


lengthLessThan()

lengthLessThan<N>(length: N, options: ValidatorOptions): ArrayValidator<ExpandSmallerTuples<UnshiftTuple<[...Tuple<I, N>[]]>>, ExpandSmallerTuples<UnshiftTuple<[...Tuple<I, N>[]]>>[number]>

Defined in: projects/shapeshift/src/validators/ArrayValidator.ts:29

Type Parameters

Type Parameter
N extends number

Parameters

ParameterType
lengthN
optionsValidatorOptions

Returns

ArrayValidator<ExpandSmallerTuples<UnshiftTuple<[...Tuple<I, N>[]]>>, ExpandSmallerTuples<UnshiftTuple<[...Tuple<I, N>[]]>>[number]>


lengthLessThanOrEqual()

lengthLessThanOrEqual<N>(length: N, options: ValidatorOptions): ArrayValidator<ExpandSmallerTuples<[...Tuple<I, N>[]]>, ExpandSmallerTuples<[...Tuple<I, N>[]]>[number]>

Defined in: projects/shapeshift/src/validators/ArrayValidator.ts:36

Type Parameters

Type Parameter
N extends number

Parameters

ParameterType
lengthN
optionsValidatorOptions

Returns

ArrayValidator<ExpandSmallerTuples<[...Tuple<I, N>[]]>, ExpandSmallerTuples<[...Tuple<I, N>[]]>[number]>


lengthNotEqual()

lengthNotEqual<N>(length: N, options: ValidatorOptions): ArrayValidator<[...Tuple<I, N>[]], [...Tuple<I, N>[]][number]>

Defined in: projects/shapeshift/src/validators/ArrayValidator.ts:61

Type Parameters

Type Parameter
N extends number

Parameters

ParameterType
lengthN
optionsValidatorOptions

Returns

ArrayValidator<[...Tuple<I, N>[]], [...Tuple<I, N>[]][number]>


lengthRange()

lengthRange<S, E>(start: S, endBefore: E, options: ValidatorOptions): ArrayValidator<Exclude<ExpandSmallerTuples<UnshiftTuple<[...Tuple<I, E>[]]>>, ExpandSmallerTuples<UnshiftTuple<[...Tuple<I, S>[]]>>>, Exclude<ExpandSmallerTuples<UnshiftTuple<[...Tuple<I, E>[]]>>, ExpandSmallerTuples<UnshiftTuple<[...Tuple<I, S>[]]>>>[number]>

Defined in: projects/shapeshift/src/validators/ArrayValidator.ts:65

Type Parameters

Type Parameter
S extends number
E extends number

Parameters

ParameterType
startS
endBeforeE
optionsValidatorOptions

Returns

ArrayValidator<Exclude<ExpandSmallerTuples<UnshiftTuple<[...Tuple<I, E>[]]>>, ExpandSmallerTuples<UnshiftTuple<[...Tuple<I, S>[]]>>>, Exclude<ExpandSmallerTuples<UnshiftTuple<[...Tuple<I, E>[]]>>, ExpandSmallerTuples<UnshiftTuple<[...Tuple<I, S>[]]>>>[number]>


lengthRangeExclusive()

lengthRangeExclusive<S, E>(startAfter: S, endBefore: E, options: ValidatorOptions): ArrayValidator<Exclude<ExpandSmallerTuples<UnshiftTuple<[...Tuple<I, E>[]]>>, ExpandSmallerTuples<[...Tuple<T, S>[]]>>, Exclude<ExpandSmallerTuples<UnshiftTuple<[...Tuple<I, E>[]]>>, ExpandSmallerTuples<[...Tuple<T, S>[]]>>[number]>

Defined in: projects/shapeshift/src/validators/ArrayValidator.ts:81

Type Parameters

Type Parameter
S extends number
E extends number

Parameters

ParameterType
startAfterS
endBeforeE
optionsValidatorOptions

Returns

ArrayValidator<Exclude<ExpandSmallerTuples<UnshiftTuple<[...Tuple<I, E>[]]>>, ExpandSmallerTuples<[...Tuple<T, S>[]]>>, Exclude<ExpandSmallerTuples<UnshiftTuple<[...Tuple<I, E>[]]>>, ExpandSmallerTuples<[...Tuple<T, S>[]]>>[number]>


lengthRangeInclusive()

lengthRangeInclusive<S, E>(startAt: S, endAt: E, options: ValidatorOptions): ArrayValidator<Exclude<ExpandSmallerTuples<[...Tuple<I, E>[]]>, ExpandSmallerTuples<UnshiftTuple<[...Tuple<I, S>[]]>>>, Exclude<ExpandSmallerTuples<[...Tuple<I, E>[]]>, ExpandSmallerTuples<UnshiftTuple<[...Tuple<I, S>[]]>>>[number]>

Defined in: projects/shapeshift/src/validators/ArrayValidator.ts:73

Type Parameters

Type Parameter
S extends number
E extends number

Parameters

ParameterType
startAtS
endAtE
optionsValidatorOptions

Returns

ArrayValidator<Exclude<ExpandSmallerTuples<[...Tuple<I, E>[]]>, ExpandSmallerTuples<UnshiftTuple<[...Tuple<I, S>[]]>>>, Exclude<ExpandSmallerTuples<[...Tuple<I, E>[]]>, ExpandSmallerTuples<UnshiftTuple<[...Tuple<I, S>[]]>>>[number]>


nullable()

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

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

Parameters

ParameterType
optionsValidatorOptions

Returns

UnionValidator<null | T>

Inherited from

BaseValidator.nullable


nullish()

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

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

Parameters

ParameterType
optionsValidatorOptions

Returns

UnionValidator<undefined | null | T>

Inherited from

BaseValidator.nullish


optional()

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

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

Parameters

ParameterType
optionsValidatorOptions

Returns

UnionValidator<undefined | T>

Inherited from

BaseValidator.optional


or()

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

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

Type Parameters

Type Parameter
O

Parameters

ParameterType
...predicatesreadonly BaseValidator<O>[]

Returns

UnionValidator<T | O>

Inherited from

BaseValidator.or


parse()

parse<R>(value: unknown): R

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

Type Parameters

Type ParameterDefault type
R extends unknown[]T

Parameters

ParameterType
valueunknown

Returns

R

Inherited from

BaseValidator.parse


reshape()

Call Signature

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

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

Parameters
ParameterType
cb(input: T) => Result<T>
options?ValidatorOptions
Returns

this

Inherited from

BaseValidator.reshape

Call Signature

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

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

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

BaseValidator<O>

Inherited from

BaseValidator.reshape


run()

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

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

Parameters

ParameterType
valueunknown

Returns

Result<T, BaseError>

Inherited from

BaseValidator.run


set()

set(options: ValidatorOptions): SetValidator<T>

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

Parameters

ParameterType
optionsValidatorOptions

Returns

SetValidator<T>

Inherited from

BaseValidator.set


setParent()

setParent(parent: object): this

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

Parameters

ParameterType
parentobject

Returns

this

Inherited from

BaseValidator.setParent


setValidationEnabled()

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

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

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


transform()

Call Signature

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

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

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

this

Inherited from

BaseValidator.transform

Call Signature

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

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

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

BaseValidator<O>

Inherited from

BaseValidator.transform


unique()

unique(options: ValidatorOptions): this

Defined in: projects/shapeshift/src/validators/ArrayValidator.ts:89

Parameters

ParameterType
optionsValidatorOptions

Returns

this


when()

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

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

Type Parameters

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

Parameters

ParameterType
keyKey
optionsWhenOptions<This, Key>
validatorOptions?ValidatorOptions

Returns

this

Inherited from

BaseValidator.when