Skip to main content

Class: ArrayValidator<T, I>

Type parameters

NameType
Textends unknown[]
IT[number]

Hierarchy

Constructors

constructor

new ArrayValidator<T, I>(validator, constraints?): ArrayValidator<T, I>

Type parameters

NameType
Textends unknown[]
IT[number]

Parameters

NameTypeDefault value
validatorBaseValidator<I>undefined
constraintsreadonly IConstraint<T, T>[][]

Returns

ArrayValidator<T, I>

Overrides

BaseValidator.constructor

Defined in

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

Properties

constraints

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

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


isValidationEnabled

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

Inherited from

BaseValidator.isValidationEnabled

Defined in

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


parent

Protected Optional parent: object

Inherited from

BaseValidator.parent

Defined in

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


validator

Private Readonly validator: BaseValidator<I>

Defined in

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

Accessors

array

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

Returns

ArrayValidator<T[], T>

Inherited from

BaseValidator.array

Defined in

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


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


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


unique

get unique(): this

Returns

this

Defined in

projects/shapeshift/src/validators/ArrayValidator.ts:74

Methods

addConstraint

addConstraint(constraint): this

Parameters

NameType
constraintIConstraint<T, T>

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/ArrayValidator.ts:78


default

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

Parameters

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

Returns

DefaultValidator<Exclude<T, 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


getValidationEnabled

getValidationEnabled(): null | boolean

Returns

null | boolean

Inherited from

BaseValidator.getValidationEnabled

Defined in

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


handle

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

Parameters

NameType
valuesunknown

Returns

Result<T, ValidationError | CombinedPropertyError>

Overrides

BaseValidator.handle

Defined in

projects/shapeshift/src/validators/ArrayValidator.ts:82


is

is<R>(value): value is R

Type parameters

NameType
Rextends unknown[] = T

Parameters

NameType
valueunknown

Returns

value is R

Inherited from

BaseValidator.is

Defined in

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


lengthEqual

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

Type parameters

NameType
Nextends number

Parameters

NameType
lengthN

Returns

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

Defined in

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


lengthGreaterThan

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

Type parameters

NameType
Nextends number

Parameters

NameType
lengthN

Returns

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

Defined in

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


lengthGreaterThanOrEqual

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

Type parameters

NameType
Nextends number

Parameters

NameType
lengthN

Returns

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

Defined in

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


lengthLessThan

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

Type parameters

NameType
Nextends number

Parameters

NameType
lengthN

Returns

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

Defined in

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


lengthLessThanOrEqual

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

Type parameters

NameType
Nextends number

Parameters

NameType
lengthN

Returns

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

Defined in

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


lengthNotEqual

lengthNotEqual(length): ArrayValidator<[...T[]], [...T[]][number]>

Parameters

NameType
lengthnumber

Returns

ArrayValidator<[...T[]], [...T[]][number]>

Defined in

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


lengthRange

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

Type parameters

NameType
Sextends number
Eextends number

Parameters

NameType
startS
endBeforeE

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]>

Defined in

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


lengthRangeExclusive

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

Type parameters

NameType
Sextends number
Eextends number

Parameters

NameType
startAfterS
endBeforeE

Returns

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


lengthRangeInclusive

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

Type parameters

NameType
Sextends number
Eextends number

Parameters

NameType
startAtS
endAtE

Returns

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


or

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

Type parameters

Name
O

Parameters

NameType
...predicatesreadonly BaseValidator<O>[]

Returns

UnionValidator<T | O>

Inherited from

BaseValidator.or

Defined in

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


parse

parse<R>(value): R

Type parameters

NameType
Rextends unknown[] = T

Parameters

NameType
valueunknown

Returns

R

Inherited from

BaseValidator.parse

Defined in

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


reshape

reshape(cb): this

Parameters

NameType
cb(input: T) => Result<T, 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: T) => R

Returns

BaseValidator<O>

Inherited from

BaseValidator.reshape

Defined in

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


run

run(value): Result<T, BaseError>

Parameters

NameType
valueunknown

Returns

Result<T, 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: T) => T

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: T) => 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> = ArrayValidator<T, I>

Parameters

NameType
keyKey
optionsWhenOptions<This, Key>

Returns

this

Inherited from

BaseValidator.when

Defined in

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