Constraints to be applied on double

Remarks

Since 2.6.0

interface DoubleConstraints {
    max?: number;
    maxExcluded?: boolean;
    min?: number;
    minExcluded?: boolean;
    noDefaultInfinity?: boolean;
    noInteger?: boolean;
    noNaN?: boolean;
}

Properties

max?: number

Upper bound for the generated 64-bit floats (included, see maxExcluded to exclude it)

Default Value

Number.POSITIVE_INFINITY, 1.7976931348623157e+308 when noDefaultInfinity is true

Remarks

Since 2.8.0

maxExcluded?: boolean

Should the upper bound (aka max) be excluded? Note: Excluding max=Number.POSITIVE_INFINITY would result into having max set to Number.MAX_VALUE.

Default Value

false

Remarks

Since 3.12.0

min?: number

Lower bound for the generated 64-bit floats (included, see minExcluded to exclude it)

Default Value

Number.NEGATIVE_INFINITY, -1.7976931348623157e+308 when noDefaultInfinity is true

Remarks

Since 2.8.0

minExcluded?: boolean

Should the lower bound (aka min) be excluded? Note: Excluding min=Number.NEGATIVE_INFINITY would result into having min set to -Number.MAX_VALUE.

Default Value

false

Remarks

Since 3.12.0

noDefaultInfinity?: boolean

By default, lower and upper bounds are -infinity and +infinity. By setting noDefaultInfinity to true, you move those defaults to minimal and maximal finite values.

Default Value

false

Remarks

Since 2.8.0

noInteger?: boolean

When set to true, Number.isInteger(value) will be false for any generated value. Note: -infinity and +infinity, or NaN can stil be generated except if you rejected them via another constraint.

Default Value

false

Remarks

Since 3.18.0

noNaN?: boolean

When set to true, no more Number.NaN can be generated.

Default Value

false

Remarks

Since 2.8.0