optional
optional<
T,O>(arbitrary,constraints):NothingextendsO?Dependent<Maybe<T>> :Dependent<O|T>
optional takes an arbitrary and returns an arbitrary that is either the original arbitrary or the
optional symbol
Example
random(optional(integer()))// => Nothing
random(optional(integer()))// => 1234
random(optional(integer({symbol: undefined})))// => undefinedType Parameters
• T
• O = typeof Nothing
Parameters
arbitrary
Arbitrary<T>
The arbitrary to make optional.
constraints
MaybePartial<OptionalGenerator<O>> = {}
The constraints used to generate arbitrary values.
Returns
Nothing extends O ? Dependent<Maybe<T>> : Dependent<O | T>
An optional version of the given arbitrary.