Constraints to be applied on array

Since 2.4.0

interface ArrayConstraints {
    depthIdentifier?: string | DepthIdentifier;
    maxLength?: number;
    minLength?: number;
    size?: SizeForArbitrary;


depthIdentifier?: string | DepthIdentifier

When receiving a depth identifier, the arbitrary will impact the depth attached to it to avoid going too deep if it already generated lots of items.

In other words, if the number of generated values within the collection is large then the generated items will tend to be less deep to avoid creating structures a lot larger than expected.

For the moment, the depth is not taken into account to compute the number of items to define for a precise generate call of the array. Just applied onto eligible items.

Since 2.25.0

maxLength?: number

Upper bound of the generated array size

0x7fffffff — defaulting seen as "max non specified" when defaultSizeToMaxWhenMaxSpecified=true

Since 2.4.0

minLength?: number

Lower bound of the generated array size


Since 2.4.0

Define how large the generated values should be (at max)

When used in conjonction with maxLength, size will be used to define the upper bound of the generated array size while maxLength will be used to define and document the general maximal length allowed for this case.

Since 2.22.0