# fast-check Documentation > Complete documentation for fast-check - Property-based testing framework for JavaScript/TypeScript This file contains links to documentation sections following the llmstxt.org standard. ## Table of Contents - [Fake data](https://fast-check.dev//advanced/fake-data.md): Replace random fake data by fake data backed by property based - [Fuzzing](https://fast-check.dev//advanced/fuzzing.md): Turn fast-check into a fuzzer - [Model based testing](https://fast-check.dev//advanced/model-based-testing.md): Turn fast-check into a crazy QA - [Race conditions](https://fast-check.dev//advanced/race-conditions.md): Easily detect race conditions in your JavaScript code - [AI-Powered Testing ๐Ÿง™](https://fast-check.dev//docs/ai-powered-testing.md): Enhance your testing workflow with AI assistance while maintaining high-quality test coverage using fast-check. - [Abstract Class: Arbitrary\](https://fast-check.dev//docs/api/classes/Arbitrary.md): Defined in: [packages/fast-check/src/check/arbitrary/definition/Arbitrary.ts:14](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309ca... - [Class: PreconditionFailure](https://fast-check.dev//docs/api/classes/PreconditionFailure.md): Defined in: [packages/fast-check/src/check/precondition/PreconditionFailure.ts:9](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309c... - [Class: Random](https://fast-check.dev//docs/api/classes/Random.md): Defined in: [packages/fast-check/src/random/generator/Random.ts:17](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309ca3d062752cd322... - [Class: Stream\](https://fast-check.dev//docs/api/classes/Stream.md): Defined in: [packages/fast-check/src/stream/Stream.ts:20](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309ca3d062752cd322110/packag... - [Class: Value\](https://fast-check.dev//docs/api/classes/Value.md): Defined in: [packages/fast-check/src/check/arbitrary/definition/Value.ts:13](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309ca3d06... - [Enumeration: ExecutionStatus](https://fast-check.dev//docs/api/enumerations/ExecutionStatus.md): Defined in: [packages/fast-check/src/check/runner/reporter/ExecutionStatus.ts:6](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309ca... - [Enumeration: VerbosityLevel](https://fast-check.dev//docs/api/enumerations/VerbosityLevel.md): Defined in: [packages/fast-check/src/check/runner/configuration/VerbosityLevel.ts:6](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c343... - [Function: anything()](https://fast-check.dev//docs/api/functions/anything.md): > **anything**(): [`Arbitrary`](../classes/Arbitrary.md)\<`unknown`\> - [Function: array()](https://fast-check.dev//docs/api/functions/array.md): > **array**\<`T`\>(`arb`, `constraints?`): [`Arbitrary`](../classes/Arbitrary.md)\<`T`[]\> - [Function: assert()](https://fast-check.dev//docs/api/functions/assert.md): > **assert**\<`Ts`\>(`property`, `params?`): `Promise`\<`void`\> - [Function: asyncDefaultReportMessage()](https://fast-check.dev//docs/api/functions/asyncDefaultReportMessage.md): > **asyncDefaultReportMessage**\<`Ts`\>(`out`): `Promise`\<`undefined`\> - [Function: asyncModelRun()](https://fast-check.dev//docs/api/functions/asyncModelRun.md): > **asyncModelRun**\<`Model`, `Real`, `CheckAsync`, `InitialModel`\>(`s`, `cmds`): `Promise`\<`void`\> - [Function: asyncProperty()](https://fast-check.dev//docs/api/functions/asyncProperty.md): > **asyncProperty**\<`Ts`\>(...`args`): [`IAsyncPropertyWithHooks`](../interfaces/IAsyncPropertyWithHooks.md)\<`Ts`\> - [Function: asyncStringify()](https://fast-check.dev//docs/api/functions/asyncStringify.md): > **asyncStringify**\<`Ts`\>(`value`): `Promise`\<`string`\> - [Function: base64String()](https://fast-check.dev//docs/api/functions/base64String.md): > **base64String**(`constraints?`): [`Arbitrary`](../classes/Arbitrary.md)\<`string`\> - [Function: bigInt()](https://fast-check.dev//docs/api/functions/bigInt.md): > **bigInt**(): [`Arbitrary`](../classes/Arbitrary.md)\<`bigint`\> - [Function: bigInt64Array()](https://fast-check.dev//docs/api/functions/bigInt64Array.md): > **bigInt64Array**(`constraints?`): [`Arbitrary`](../classes/Arbitrary.md)\<`BigInt64Array`\<`ArrayBuffer`\>\> - [Function: bigUint64Array()](https://fast-check.dev//docs/api/functions/bigUint64Array.md): > **bigUint64Array**(`constraints?`): [`Arbitrary`](../classes/Arbitrary.md)\<`BigUint64Array`\<`ArrayBuffer`\>\> - [Function: boolean()](https://fast-check.dev//docs/api/functions/boolean.md): > **boolean**(): [`Arbitrary`](../classes/Arbitrary.md)\<`boolean`\> - [Function: check()](https://fast-check.dev//docs/api/functions/check.md): > **check**\<`Ts`\>(`property`, `params?`): `Promise`\<[`RunDetails`](../type-aliases/RunDetails.md)\<`Ts`\>\> - [Function: clone()](https://fast-check.dev//docs/api/functions/clone.md): > **clone**\<`T`, `N`\>(`arb`, `numValues`): [`Arbitrary`](../classes/Arbitrary.md)\<[`CloneValue`](../type-aliases/CloneValue.md)\<`T`, `N`, \[\]\>\> - [Function: cloneIfNeeded()](https://fast-check.dev//docs/api/functions/cloneIfNeeded.md): > **cloneIfNeeded**\<`T`\>(`instance`): `T` - [Function: commands()](https://fast-check.dev//docs/api/functions/commands.md): > **commands**\<`Model`, `Real`, `CheckAsync`\>(`commandArbs`, `constraints?`): [`Arbitrary`](../classes/Arbitrary.md)\<`Iterable`\<[`AsyncCommand`... - [Function: compareBooleanFunc()](https://fast-check.dev//docs/api/functions/compareBooleanFunc.md): > **compareBooleanFunc**\<`T`\>(): [`Arbitrary`](../classes/Arbitrary.md)\<(`a`, `b`) => `boolean`\> - [Function: compareFunc()](https://fast-check.dev//docs/api/functions/compareFunc.md): > **compareFunc**\<`T`\>(): [`Arbitrary`](../classes/Arbitrary.md)\<(`a`, `b`) => `number`\> - [Function: configureGlobal()](https://fast-check.dev//docs/api/functions/configureGlobal.md): > **configureGlobal**(`parameters`): `void` - [Function: constant()](https://fast-check.dev//docs/api/functions/constant.md): > **constant**\<`T`\>(`value`): [`Arbitrary`](../classes/Arbitrary.md)\<`T`\> - [Function: constantFrom()](https://fast-check.dev//docs/api/functions/constantFrom.md): > **constantFrom**\<`T`\>(...`values`): [`Arbitrary`](../classes/Arbitrary.md)\<`T`\> - [Function: context()](https://fast-check.dev//docs/api/functions/context.md): > **context**(): [`Arbitrary`](../classes/Arbitrary.md)\<[`ContextValue`](../interfaces/ContextValue.md)\> - [Function: createDepthIdentifier()](https://fast-check.dev//docs/api/functions/createDepthIdentifier.md): > **createDepthIdentifier**(): [`DepthIdentifier`](../type-aliases/DepthIdentifier.md) - [Function: date()](https://fast-check.dev//docs/api/functions/date.md): > **date**(`constraints?`): [`Arbitrary`](../classes/Arbitrary.md)\<`Date`\> - [Function: defaultReportMessage()](https://fast-check.dev//docs/api/functions/defaultReportMessage.md): > **defaultReportMessage**\<`Ts`\>(`out`): `undefined` - [Function: dictionary()](https://fast-check.dev//docs/api/functions/dictionary.md): > **dictionary**\<`T`\>(`keyArb`, `valueArb`, `constraints?`): [`Arbitrary`](../classes/Arbitrary.md)\<`Record`\<`string`, `T`\>\> - [Function: domain()](https://fast-check.dev//docs/api/functions/domain.md): > **domain**(`constraints?`): [`Arbitrary`](../classes/Arbitrary.md)\<`string`\> - [Function: double()](https://fast-check.dev//docs/api/functions/double.md): > **double**(`constraints?`): [`Arbitrary`](../classes/Arbitrary.md)\<`number`\> - [Function: emailAddress()](https://fast-check.dev//docs/api/functions/emailAddress.md): > **emailAddress**(`constraints?`): [`Arbitrary`](../classes/Arbitrary.md)\<`string`\> - [Function: entityGraph()](https://fast-check.dev//docs/api/functions/entityGraph.md): > **entityGraph**\<`TEntityFields`, `TEntityRelations`\>(`arbitraries`, `relations`, `constraints?`): [`Arbitrary`](../classes/Arbitrary.md)\<[`Ent... - [Function: falsy()](https://fast-check.dev//docs/api/functions/falsy.md): > **falsy**\<`TConstraints`\>(`constraints?`): [`Arbitrary`](../classes/Arbitrary.md)\<[`FalsyValue`](../type-aliases/FalsyValue.md)\<`TConstraints... - [Function: float()](https://fast-check.dev//docs/api/functions/float.md): > **float**(`constraints?`): [`Arbitrary`](../classes/Arbitrary.md)\<`number`\> - [Function: float32Array()](https://fast-check.dev//docs/api/functions/float32Array.md): > **float32Array**(`constraints?`): [`Arbitrary`](../classes/Arbitrary.md)\<`Float32Array`\<`ArrayBuffer`\>\> - [Function: float64Array()](https://fast-check.dev//docs/api/functions/float64Array.md): > **float64Array**(`constraints?`): [`Arbitrary`](../classes/Arbitrary.md)\<`Float64Array`\<`ArrayBuffer`\>\> - [Function: func()](https://fast-check.dev//docs/api/functions/func.md): > **func**\<`TArgs`, `TOut`\>(`arb`): [`Arbitrary`](../classes/Arbitrary.md)\<(...`args`) => `TOut`\> - [Function: gen()](https://fast-check.dev//docs/api/functions/gen.md): > **gen**(): [`Arbitrary`](../classes/Arbitrary.md)\<[`GeneratorValue`](../type-aliases/GeneratorValue.md)\> - [Function: getDepthContextFor()](https://fast-check.dev//docs/api/functions/getDepthContextFor.md): > **getDepthContextFor**(`contextMeta`): [`DepthContext`](../type-aliases/DepthContext.md) - [Function: hasAsyncToStringMethod()](https://fast-check.dev//docs/api/functions/hasAsyncToStringMethod.md): > **hasAsyncToStringMethod**\<`T`\>(`instance`): `instance is T & WithAsyncToStringMethod` - [Function: hasCloneMethod()](https://fast-check.dev//docs/api/functions/hasCloneMethod.md): > **hasCloneMethod**\<`T`\>(`instance`): `instance is WithCloneMethod` - [Function: hasToStringMethod()](https://fast-check.dev//docs/api/functions/hasToStringMethod.md): > **hasToStringMethod**\<`T`\>(`instance`): `instance is T & WithToStringMethod` - [Function: hash()](https://fast-check.dev//docs/api/functions/hash.md): > **hash**(`repr`): `number` - [Function: infiniteStream()](https://fast-check.dev//docs/api/functions/infiniteStream.md): > **infiniteStream**\<`T`\>(`arb`, `constraints?`): [`Arbitrary`](../classes/Arbitrary.md)\<[`Stream`](../classes/Stream.md)\<`T`\>\> - [Function: int16Array()](https://fast-check.dev//docs/api/functions/int16Array.md): > **int16Array**(`constraints?`): [`Arbitrary`](../classes/Arbitrary.md)\<`Int16Array`\<`ArrayBuffer`\>\> - [Function: int32Array()](https://fast-check.dev//docs/api/functions/int32Array.md): > **int32Array**(`constraints?`): [`Arbitrary`](../classes/Arbitrary.md)\<`Int32Array`\<`ArrayBuffer`\>\> - [Function: int8Array()](https://fast-check.dev//docs/api/functions/int8Array.md): > **int8Array**(`constraints?`): [`Arbitrary`](../classes/Arbitrary.md)\<`Int8Array`\<`ArrayBuffer`\>\> - [Function: integer()](https://fast-check.dev//docs/api/functions/integer.md): > **integer**(`constraints?`): [`Arbitrary`](../classes/Arbitrary.md)\<`number`\> - [Function: ipV4()](https://fast-check.dev//docs/api/functions/ipV4.md): > **ipV4**(): [`Arbitrary`](../classes/Arbitrary.md)\<`string`\> - [Function: ipV4Extended()](https://fast-check.dev//docs/api/functions/ipV4Extended.md): > **ipV4Extended**(): [`Arbitrary`](../classes/Arbitrary.md)\<`string`\> - [Function: ipV6()](https://fast-check.dev//docs/api/functions/ipV6.md): > **ipV6**(): [`Arbitrary`](../classes/Arbitrary.md)\<`string`\> - [Function: json()](https://fast-check.dev//docs/api/functions/json.md): > **json**(`constraints?`): [`Arbitrary`](../classes/Arbitrary.md)\<`string`\> - [Function: jsonValue()](https://fast-check.dev//docs/api/functions/jsonValue.md): > **jsonValue**(`constraints?`): [`Arbitrary`](../classes/Arbitrary.md)\<[`JsonValue`](../type-aliases/JsonValue.md)\> - [Function: letrec()](https://fast-check.dev//docs/api/functions/letrec.md): > **letrec**\<`T`\>(`builder`): [`LetrecValue`](../type-aliases/LetrecValue.md)\<`T`\> - [Function: limitShrink()](https://fast-check.dev//docs/api/functions/limitShrink.md): > **limitShrink**\<`T`\>(`arbitrary`, `maxShrinks`): [`Arbitrary`](../classes/Arbitrary.md)\<`T`\> - [Function: lorem()](https://fast-check.dev//docs/api/functions/lorem.md): > **lorem**(`constraints?`): [`Arbitrary`](../classes/Arbitrary.md)\<`string`\> - [Function: map()](https://fast-check.dev//docs/api/functions/map.md): > **map**\<`K`, `V`\>(`keyArb`, `valueArb`, `constraints?`): [`Arbitrary`](../classes/Arbitrary.md)\<`Map`\<`K`, `V`\>\> - [Function: mapToConstant()](https://fast-check.dev//docs/api/functions/mapToConstant.md): > **mapToConstant**\<`T`\>(...`entries`): [`Arbitrary`](../classes/Arbitrary.md)\<`T`\> - [Function: maxSafeInteger()](https://fast-check.dev//docs/api/functions/maxSafeInteger.md): > **maxSafeInteger**(): [`Arbitrary`](../classes/Arbitrary.md)\<`number`\> - [Function: maxSafeNat()](https://fast-check.dev//docs/api/functions/maxSafeNat.md): > **maxSafeNat**(): [`Arbitrary`](../classes/Arbitrary.md)\<`number`\> - [Function: memo()](https://fast-check.dev//docs/api/functions/memo.md): > **memo**\<`T`\>(`builder`): [`Memo`](../type-aliases/Memo.md)\<`T`\> - [Function: mixedCase()](https://fast-check.dev//docs/api/functions/mixedCase.md): > **mixedCase**(`stringArb`, `constraints?`): [`Arbitrary`](../classes/Arbitrary.md)\<`string`\> - [Function: modelRun()](https://fast-check.dev//docs/api/functions/modelRun.md): > **modelRun**\<`Model`, `Real`, `InitialModel`\>(`s`, `cmds`): `void` - [Function: nat()](https://fast-check.dev//docs/api/functions/nat.md): > **nat**(): [`Arbitrary`](../classes/Arbitrary.md)\<`number`\> - [Function: noBias()](https://fast-check.dev//docs/api/functions/noBias.md): > **noBias**\<`T`\>(`arb`): [`Arbitrary`](../classes/Arbitrary.md)\<`T`\> - [Function: noShrink()](https://fast-check.dev//docs/api/functions/noShrink.md): > **noShrink**\<`T`\>(`arb`): [`Arbitrary`](../classes/Arbitrary.md)\<`T`\> - [Function: object()](https://fast-check.dev//docs/api/functions/object.md): > **object**(): [`Arbitrary`](../classes/Arbitrary.md)\<`Record`\<`string`, `unknown`\>\> - [Function: oneof()](https://fast-check.dev//docs/api/functions/oneof.md): > **oneof**\<`Ts`\>(...`arbs`): [`Arbitrary`](../classes/Arbitrary.md)\<[`OneOfValue`](../type-aliases/OneOfValue.md)\<`Ts`\>\> - [Function: option()](https://fast-check.dev//docs/api/functions/option.md): > **option**\<`T`, `TNil`\>(`arb`, `constraints?`): [`Arbitrary`](../classes/Arbitrary.md)\<`T` \| `TNil`\> - [Function: pre()](https://fast-check.dev//docs/api/functions/pre.md): > **pre**(`expectTruthy`): `asserts expectTruthy` - [Function: property()](https://fast-check.dev//docs/api/functions/property.md): > **property**\<`Ts`\>(...`args`): [`IPropertyWithHooks`](../interfaces/IPropertyWithHooks.md)\<`Ts`\> - [Function: readConfigureGlobal()](https://fast-check.dev//docs/api/functions/readConfigureGlobal.md): > **readConfigureGlobal**(): [`GlobalParameters`](../type-aliases/GlobalParameters.md) - [Function: record()](https://fast-check.dev//docs/api/functions/record.md): > **record**\<`T`, `K`\>(`model`, `constraints?`): [`Arbitrary`](../classes/Arbitrary.md)\<\{ \[K in string \| number \| symbol\]: (Partial\ & ... - [Function: resetConfigureGlobal()](https://fast-check.dev//docs/api/functions/resetConfigureGlobal.md): > **resetConfigureGlobal**(): `void` - [Function: sample()](https://fast-check.dev//docs/api/functions/sample.md): > **sample**\<`Ts`\>(`generator`, `params?`): `Ts`[] - [Function: scheduledModelRun()](https://fast-check.dev//docs/api/functions/scheduledModelRun.md): > **scheduledModelRun**\<`Model`, `Real`, `CheckAsync`, `InitialModel`\>(`scheduler`, `s`, `cmds`): `Promise`\<`void`\> - [Function: scheduler()](https://fast-check.dev//docs/api/functions/scheduler.md): > **scheduler**\<`TMetaData`\>(`constraints?`): [`Arbitrary`](../classes/Arbitrary.md)\<[`Scheduler`](../interfaces/Scheduler.md)\<`TMetaData`\>\> - [Function: schedulerFor()](https://fast-check.dev//docs/api/functions/schedulerFor.md): > **schedulerFor**\<`TMetaData`\>(`constraints?`): (`_strs`, ...`ordering`) => [`Scheduler`](../interfaces/Scheduler.md)\<`TMetaData`\> - [Function: set()](https://fast-check.dev//docs/api/functions/set.md): > **set**\<`T`\>(`arb`, `constraints?`): [`Arbitrary`](../classes/Arbitrary.md)\<`Set`\<`T`\>\> - [Function: shuffledSubarray()](https://fast-check.dev//docs/api/functions/shuffledSubarray.md): > **shuffledSubarray**\<`T`\>(`originalArray`, `constraints?`): [`Arbitrary`](../classes/Arbitrary.md)\<`T`[]\> - [Function: sparseArray()](https://fast-check.dev//docs/api/functions/sparseArray.md): > **sparseArray**\<`T`\>(`arb`, `constraints?`): [`Arbitrary`](../classes/Arbitrary.md)\<`T`[]\> - [Function: statistics()](https://fast-check.dev//docs/api/functions/statistics.md): > **statistics**\<`Ts`\>(`generator`, `classify`, `params?`): `void` - [Function: stream()](https://fast-check.dev//docs/api/functions/stream.md): > **stream**\<`T`\>(`g`): [`Stream`](../classes/Stream.md)\<`T`\> - [Function: string()](https://fast-check.dev//docs/api/functions/string.md): > **string**(`constraints?`): [`Arbitrary`](../classes/Arbitrary.md)\<`string`\> - [Function: stringMatching()](https://fast-check.dev//docs/api/functions/stringMatching.md): > **stringMatching**(`regex`, `constraints?`): [`Arbitrary`](../classes/Arbitrary.md)\<`string`\> - [Function: stringify()](https://fast-check.dev//docs/api/functions/stringify.md): > **stringify**\<`Ts`\>(`value`): `string` - [Function: subarray()](https://fast-check.dev//docs/api/functions/subarray.md): > **subarray**\<`T`\>(`originalArray`, `constraints?`): [`Arbitrary`](../classes/Arbitrary.md)\<`T`[]\> - [Function: tuple()](https://fast-check.dev//docs/api/functions/tuple.md): > **tuple**\<`Ts`\>(...`arbs`): [`Arbitrary`](../classes/Arbitrary.md)\<`Ts`\> - [Function: uint16Array()](https://fast-check.dev//docs/api/functions/uint16Array.md): > **uint16Array**(`constraints?`): [`Arbitrary`](../classes/Arbitrary.md)\<`Uint16Array`\<`ArrayBuffer`\>\> - [Function: uint32Array()](https://fast-check.dev//docs/api/functions/uint32Array.md): > **uint32Array**(`constraints?`): [`Arbitrary`](../classes/Arbitrary.md)\<`Uint32Array`\<`ArrayBuffer`\>\> - [Function: uint8Array()](https://fast-check.dev//docs/api/functions/uint8Array.md): > **uint8Array**(`constraints?`): [`Arbitrary`](../classes/Arbitrary.md)\<`Uint8Array`\<`ArrayBuffer`\>\> - [Function: uint8ClampedArray()](https://fast-check.dev//docs/api/functions/uint8ClampedArray.md): > **uint8ClampedArray**(`constraints?`): [`Arbitrary`](../classes/Arbitrary.md)\<`Uint8ClampedArray`\<`ArrayBuffer`\>\> - [Function: ulid()](https://fast-check.dev//docs/api/functions/ulid.md): > **ulid**(): [`Arbitrary`](../classes/Arbitrary.md)\<`string`\> - [Function: uniqueArray()](https://fast-check.dev//docs/api/functions/uniqueArray.md): > **uniqueArray**\<`T`, `U`\>(`arb`, `constraints?`): [`Arbitrary`](../classes/Arbitrary.md)\<`T`[]\> - [Function: uuid()](https://fast-check.dev//docs/api/functions/uuid.md): > **uuid**(`constraints?`): [`Arbitrary`](../classes/Arbitrary.md)\<`string`\> - [Function: webAuthority()](https://fast-check.dev//docs/api/functions/webAuthority.md): > **webAuthority**(`constraints?`): [`Arbitrary`](../classes/Arbitrary.md)\<`string`\> - [Function: webFragments()](https://fast-check.dev//docs/api/functions/webFragments.md): > **webFragments**(`constraints?`): [`Arbitrary`](../classes/Arbitrary.md)\<`string`\> - [Function: webPath()](https://fast-check.dev//docs/api/functions/webPath.md): > **webPath**(`constraints?`): [`Arbitrary`](../classes/Arbitrary.md)\<`string`\> - [Function: webQueryParameters()](https://fast-check.dev//docs/api/functions/webQueryParameters.md): > **webQueryParameters**(`constraints?`): [`Arbitrary`](../classes/Arbitrary.md)\<`string`\> - [Function: webSegment()](https://fast-check.dev//docs/api/functions/webSegment.md): > **webSegment**(`constraints?`): [`Arbitrary`](../classes/Arbitrary.md)\<`string`\> - [Function: webUrl()](https://fast-check.dev//docs/api/functions/webUrl.md): > **webUrl**(`constraints?`): [`Arbitrary`](../classes/Arbitrary.md)\<`string`\> - [API Reference](https://fast-check.dev//docs/api/index.md): | Enumeration | Description | - [Interface: ArrayConstraints](https://fast-check.dev//docs/api/interfaces/ArrayConstraints.md): Defined in: [packages/fast-check/src/arbitrary/array.ts:15](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309ca3d062752cd322110/pack... - [Interface: AsyncCommand\](https://fast-check.dev//docs/api/interfaces/AsyncCommand.md): Defined in: [packages/fast-check/src/check/model/command/AsyncCommand.ts:10](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309ca3d06... - [Interface: BigIntConstraints](https://fast-check.dev//docs/api/interfaces/BigIntConstraints.md): Defined in: [packages/fast-check/src/arbitrary/bigInt.ts:10](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309ca3d062752cd322110/pac... - [Interface: Command\](https://fast-check.dev//docs/api/interfaces/Command.md): Defined in: [packages/fast-check/src/check/model/command/Command.ts:10](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309ca3d062752c... - [Interface: CommandsContraints](https://fast-check.dev//docs/api/interfaces/CommandsContraints.md): Defined in: [packages/fast-check/src/check/model/commands/CommandsContraints.ts:8](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309... - [Interface: ContextValue](https://fast-check.dev//docs/api/interfaces/ContextValue.md): Defined in: [packages/fast-check/src/arbitrary/context.ts:10](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309ca3d062752cd322110/pa... - [Interface: DateConstraints](https://fast-check.dev//docs/api/interfaces/DateConstraints.md): Defined in: [packages/fast-check/src/arbitrary/date.ts:18](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309ca3d062752cd322110/packa... - [Interface: DictionaryConstraints](https://fast-check.dev//docs/api/interfaces/DictionaryConstraints.md): Defined in: [packages/fast-check/src/arbitrary/dictionary.ts:23](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309ca3d062752cd322110... - [Interface: DomainConstraints](https://fast-check.dev//docs/api/interfaces/DomainConstraints.md): Defined in: [packages/fast-check/src/arbitrary/domain.ts:93](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309ca3d062752cd322110/pac... - [Interface: DoubleConstraints](https://fast-check.dev//docs/api/interfaces/DoubleConstraints.md): Defined in: [packages/fast-check/src/arbitrary/double.ts:24](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309ca3d062752cd322110/pac... - [Interface: EmailAddressConstraints](https://fast-check.dev//docs/api/interfaces/EmailAddressConstraints.md): Defined in: [packages/fast-check/src/arbitrary/emailAddress.ts:53](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309ca3d062752cd3221... - [Interface: ExecutionTree\](https://fast-check.dev//docs/api/interfaces/ExecutionTree.md): Defined in: [packages/fast-check/src/check/runner/reporter/ExecutionTree.ts:8](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309ca3d... - [Interface: FalsyContraints](https://fast-check.dev//docs/api/interfaces/FalsyContraints.md): Defined in: [packages/fast-check/src/arbitrary/falsy.ts:10](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309ca3d062752cd322110/pack... - [Interface: FloatConstraints](https://fast-check.dev//docs/api/interfaces/FloatConstraints.md): Defined in: [packages/fast-check/src/arbitrary/float.ts:23](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309ca3d062752cd322110/pack... - [Interface: IAsyncProperty\](https://fast-check.dev//docs/api/interfaces/IAsyncProperty.md): Defined in: [packages/fast-check/src/check/property/AsyncProperty.generic.ts:32](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309ca... - [Interface: IAsyncPropertyWithHooks\](https://fast-check.dev//docs/api/interfaces/IAsyncPropertyWithHooks.md): Defined in: [packages/fast-check/src/check/property/AsyncProperty.generic.ts:39](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309ca... - [Interface: ICommand\](https://fast-check.dev//docs/api/interfaces/ICommand.md): Defined in: [packages/fast-check/src/check/model/command/ICommand.ts:11](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309ca3d062752... - [Interface: IProperty\](https://fast-check.dev//docs/api/interfaces/IProperty.md): Defined in: [packages/fast-check/src/check/property/Property.generic.ts:30](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309ca3d062... - [Interface: IPropertyWithHooks\](https://fast-check.dev//docs/api/interfaces/IPropertyWithHooks.md): Defined in: [packages/fast-check/src/check/property/Property.generic.ts:37](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309ca3d062... - [Interface: IRawProperty\](https://fast-check.dev//docs/api/interfaces/IRawProperty.md): Defined in: [packages/fast-check/src/check/property/IRawProperty.ts:32](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309ca3d062752c... - [Interface: IntegerConstraints](https://fast-check.dev//docs/api/interfaces/IntegerConstraints.md): Defined in: [packages/fast-check/src/arbitrary/integer.ts:11](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309ca3d062752cd322110/pa... - [Interface: JsonSharedConstraints](https://fast-check.dev//docs/api/interfaces/JsonSharedConstraints.md): Defined in: [packages/fast-check/src/arbitrary/\_internals/helpers/JsonConstraintsBuilder.ts:17](https://github.com/dubzzz/fast-check/blob/7b71cb0e... - [Interface: LetrecTypedTie()\](https://fast-check.dev//docs/api/interfaces/LetrecTypedTie.md): Defined in: [packages/fast-check/src/arbitrary/letrec.ts:23](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309ca3d062752cd322110/pac... - [Interface: LoremConstraints](https://fast-check.dev//docs/api/interfaces/LoremConstraints.md): Defined in: [packages/fast-check/src/arbitrary/lorem.ts:21](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309ca3d062752cd322110/pack... - [Interface: MapConstraints](https://fast-check.dev//docs/api/interfaces/MapConstraints.md): Defined in: [packages/fast-check/src/arbitrary/map.ts:18](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309ca3d062752cd322110/packag... - [Interface: MixedCaseConstraints](https://fast-check.dev//docs/api/interfaces/MixedCaseConstraints.md): Defined in: [packages/fast-check/src/arbitrary/mixedCase.ts:10](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309ca3d062752cd322110/... - [Interface: NatConstraints](https://fast-check.dev//docs/api/interfaces/NatConstraints.md): Defined in: [packages/fast-check/src/arbitrary/nat.ts:11](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309ca3d062752cd322110/packag... - [Interface: ObjectConstraints](https://fast-check.dev//docs/api/interfaces/ObjectConstraints.md): Defined in: [packages/fast-check/src/arbitrary/\_internals/helpers/QualifiedObjectConstraints.ts:16](https://github.com/dubzzz/fast-check/blob/7b71... - [Interface: OptionConstraints\](https://fast-check.dev//docs/api/interfaces/OptionConstraints.md): Defined in: [packages/fast-check/src/arbitrary/option.ts:14](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309ca3d062752cd322110/pac... - [Interface: Parameters\](https://fast-check.dev//docs/api/interfaces/Parameters.md): Defined in: [packages/fast-check/src/check/runner/configuration/Parameters.ts:11](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309c... - [Interface: RunDetailsCommon\](https://fast-check.dev//docs/api/interfaces/RunDetailsCommon.md): Defined in: [packages/fast-check/src/check/runner/reporter/RunDetails.ts:91](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309ca3d06... - [Interface: RunDetailsFailureInterrupted\](https://fast-check.dev//docs/api/interfaces/RunDetailsFailureInterrupted.md): Defined in: [packages/fast-check/src/check/runner/reporter/RunDetails.ts:62](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309ca3d06... - [Interface: RunDetailsFailureProperty\](https://fast-check.dev//docs/api/interfaces/RunDetailsFailureProperty.md): Defined in: [packages/fast-check/src/check/runner/reporter/RunDetails.ts:28](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309ca3d06... - [Interface: RunDetailsFailureTooManySkips\](https://fast-check.dev//docs/api/interfaces/RunDetailsFailureTooManySkips.md): Defined in: [packages/fast-check/src/check/runner/reporter/RunDetails.ts:45](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309ca3d06... - [Interface: RunDetailsSuccess\](https://fast-check.dev//docs/api/interfaces/RunDetailsSuccess.md): Defined in: [packages/fast-check/src/check/runner/reporter/RunDetails.ts:78](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309ca3d06... - [Interface: Scheduler\](https://fast-check.dev//docs/api/interfaces/Scheduler.md): Defined in: [packages/fast-check/src/arbitrary/\_internals/interfaces/Scheduler.ts:23](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c3... - [Interface: SchedulerConstraints](https://fast-check.dev//docs/api/interfaces/SchedulerConstraints.md): Defined in: [packages/fast-check/src/arbitrary/scheduler.ts:12](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309ca3d062752cd322110/... - [Interface: SchedulerReportItem\](https://fast-check.dev//docs/api/interfaces/SchedulerReportItem.md): Defined in: [packages/fast-check/src/arbitrary/\_internals/interfaces/Scheduler.ts:164](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c... - [Interface: ShuffledSubarrayConstraints](https://fast-check.dev//docs/api/interfaces/ShuffledSubarrayConstraints.md): Defined in: [packages/fast-check/src/arbitrary/shuffledSubarray.ts:9](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309ca3d062752cd3... - [Interface: SparseArrayConstraints](https://fast-check.dev//docs/api/interfaces/SparseArrayConstraints.md): Defined in: [packages/fast-check/src/arbitrary/sparseArray.ts:23](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309ca3d062752cd32211... - [Interface: StringSharedConstraints](https://fast-check.dev//docs/api/interfaces/StringSharedConstraints.md): Defined in: [packages/fast-check/src/arbitrary/\_shared/StringSharedConstraints.ts:8](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34... - [Interface: SubarrayConstraints](https://fast-check.dev//docs/api/interfaces/SubarrayConstraints.md): Defined in: [packages/fast-check/src/arbitrary/subarray.ts:9](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309ca3d062752cd322110/pa... - [Interface: UuidConstraints](https://fast-check.dev//docs/api/interfaces/UuidConstraints.md): Defined in: [packages/fast-check/src/arbitrary/uuid.ts:13](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309ca3d062752cd322110/packa... - [Interface: WebAuthorityConstraints](https://fast-check.dev//docs/api/interfaces/WebAuthorityConstraints.md): Defined in: [packages/fast-check/src/arbitrary/webAuthority.ts:55](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309ca3d062752cd3221... - [Interface: WebFragmentsConstraints](https://fast-check.dev//docs/api/interfaces/WebFragmentsConstraints.md): Defined in: [packages/fast-check/src/arbitrary/webFragments.ts:10](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309ca3d062752cd3221... - [Interface: WebPathConstraints](https://fast-check.dev//docs/api/interfaces/WebPathConstraints.md): Defined in: [packages/fast-check/src/arbitrary/webPath.ts:11](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309ca3d062752cd322110/pa... - [Interface: WebQueryParametersConstraints](https://fast-check.dev//docs/api/interfaces/WebQueryParametersConstraints.md): Defined in: [packages/fast-check/src/arbitrary/webQueryParameters.ts:10](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309ca3d062752... - [Interface: WebSegmentConstraints](https://fast-check.dev//docs/api/interfaces/WebSegmentConstraints.md): Defined in: [packages/fast-check/src/arbitrary/webSegment.ts:11](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309ca3d062752cd322110... - [Interface: WebUrlConstraints](https://fast-check.dev//docs/api/interfaces/WebUrlConstraints.md): Defined in: [packages/fast-check/src/arbitrary/webUrl.ts:20](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309ca3d062752cd322110/pac... - [Interface: WeightedArbitrary\](https://fast-check.dev//docs/api/interfaces/WeightedArbitrary.md): Defined in: [packages/fast-check/src/arbitrary/oneof.ts:15](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309ca3d062752cd322110/pack... - [Interface: WithCloneMethod\](https://fast-check.dev//docs/api/interfaces/WithCloneMethod.md): Defined in: [packages/fast-check/src/check/symbols.ts:21](https://github.com/dubzzz/fast-check/blob/7b71cb0eb681da44c34309ca3d062752cd322110/packag... - [Type Alias: AsyncPropertyHookFunction](https://fast-check.dev//docs/api/type-aliases/AsyncPropertyHookFunction.md): > **AsyncPropertyHookFunction** = ((`previousHookFunction`) => `Promise`\<`unknown`\>) \| ((`previousHookFunction`) => `void`) - [Type Alias: BigIntArrayConstraints](https://fast-check.dev//docs/api/type-aliases/BigIntArrayConstraints.md): > **BigIntArrayConstraints** = `object` - [Type Alias: CloneValue\](https://fast-check.dev//docs/api/type-aliases/CloneValue.md): > **CloneValue**\<`T`, `N`, `Rest`\> = \[`number`\] *extends* \[`N`\] ? `T`[] : `Rest`\[`"length"`\] *extends* `N` ? `Rest` : `CloneValue`\<`T`, `N... - [Type Alias: DepthContext](https://fast-check.dev//docs/api/type-aliases/DepthContext.md): > **DepthContext** = `object` - [Type Alias: DepthIdentifier](https://fast-check.dev//docs/api/type-aliases/DepthIdentifier.md): > **DepthIdentifier** = `object` & [`DepthContext`](DepthContext.md) - [Type Alias: DepthSize](https://fast-check.dev//docs/api/type-aliases/DepthSize.md): > **DepthSize** = `RelativeSize` \| [`Size`](Size.md) \| `"max"` \| `number` \| `undefined` - [Type Alias: EntityGraphArbitraries\](https://fast-check.dev//docs/api/type-aliases/EntityGraphArbitraries.md): > **EntityGraphArbitraries**\<`TEntityFields`\> = `{ [TEntityName in keyof TEntityFields]: ArbitraryStructure }` - [Type Alias: EntityGraphContraints\](https://fast-check.dev//docs/api/type-aliases/EntityGraphContraints.md): > **EntityGraphContraints**\<`TEntityFields`\> = `object` - [Type Alias: EntityGraphRelations\](https://fast-check.dev//docs/api/type-aliases/EntityGraphRelations.md): > **EntityGraphRelations**\<`TEntityFields`\> = `{ [TEntityName in keyof TEntityFields]: { [TField in string]: Relationship } }` - [Type Alias: EntityGraphValue\](https://fast-check.dev//docs/api/type-aliases/EntityGraphValue.md): > **EntityGraphValue**\<`TEntityFields`, `TEntityRelations`\> = `{ [TEntityName in keyof EntityGraphSingleValue]: ... - [Type Alias: FalsyValue\](https://fast-check.dev//docs/api/type-aliases/FalsyValue.md): > **FalsyValue**\<`TConstraints`\> = `false` \| `null` \| `0` \| `""` \| *typeof* `NaN` \| `undefined` \| `TConstraints` *extends* `object` ? `0n` ... - [Type Alias: Float32ArrayConstraints](https://fast-check.dev//docs/api/type-aliases/Float32ArrayConstraints.md): > **Float32ArrayConstraints** = `object` & [`FloatConstraints`](../interfaces/FloatConstraints.md) - [Type Alias: Float64ArrayConstraints](https://fast-check.dev//docs/api/type-aliases/Float64ArrayConstraints.md): > **Float64ArrayConstraints** = `object` & [`DoubleConstraints`](../interfaces/DoubleConstraints.md) - [Type Alias: GeneratorValue](https://fast-check.dev//docs/api/type-aliases/GeneratorValue.md): > **GeneratorValue** = `GeneratorValueFunction` & `GeneratorValueMethods` - [Type Alias: GlobalAsyncPropertyHookFunction](https://fast-check.dev//docs/api/type-aliases/GlobalAsyncPropertyHookFunction.md): > **GlobalAsyncPropertyHookFunction** = (() => `Promise`\<`unknown`\>) \| (() => `void`) - [Type Alias: GlobalParameters](https://fast-check.dev//docs/api/type-aliases/GlobalParameters.md): > **GlobalParameters** = `Pick`\<[`Parameters`](../interfaces/Parameters.md)\<`unknown`\>, `Exclude`\ **GlobalPropertyHookFunction** = () => `void` - [Type Alias: IntArrayConstraints](https://fast-check.dev//docs/api/type-aliases/IntArrayConstraints.md): > **IntArrayConstraints** = `object` - [Type Alias: JsonValue](https://fast-check.dev//docs/api/type-aliases/JsonValue.md): > **JsonValue** = `boolean` \| `number` \| `string` \| `null` \| `JsonArray` \| `JsonObject` - [Type Alias: LetrecLooselyTypedBuilder\](https://fast-check.dev//docs/api/type-aliases/LetrecLooselyTypedBuilder.md): > **LetrecLooselyTypedBuilder**\<`T`\> = (`tie`) => [`LetrecValue`](LetrecValue.md)\<`T`\> - [Type Alias: LetrecLooselyTypedTie](https://fast-check.dev//docs/api/type-aliases/LetrecLooselyTypedTie.md): > **LetrecLooselyTypedTie** = (`key`) => [`Arbitrary`](../classes/Arbitrary.md)\<`unknown`\> - [Type Alias: LetrecTypedBuilder\](https://fast-check.dev//docs/api/type-aliases/LetrecTypedBuilder.md): > **LetrecTypedBuilder**\<`T`\> = (`tie`) => [`LetrecValue`](LetrecValue.md)\<`T`\> - [Type Alias: LetrecValue\](https://fast-check.dev//docs/api/type-aliases/LetrecValue.md): > **LetrecValue**\<`T`\> = `{ [K in keyof T]: Arbitrary }` - [Type Alias: MaybeWeightedArbitrary\](https://fast-check.dev//docs/api/type-aliases/MaybeWeightedArbitrary.md): > **MaybeWeightedArbitrary**\<`T`\> = [`Arbitrary`](../classes/Arbitrary.md)\<`T`\> \| [`WeightedArbitrary`](../interfaces/WeightedArbitrary.md)\<`... - [Type Alias: Memo\](https://fast-check.dev//docs/api/type-aliases/Memo.md): > **Memo**\<`T`\> = (`maxDepth?`) => [`Arbitrary`](../classes/Arbitrary.md)\<`T`\> - [Type Alias: ModelRunAsyncSetup\](https://fast-check.dev//docs/api/type-aliases/ModelRunAsyncSetup.md): > **ModelRunAsyncSetup**\<`Model`, `Real`\> = () => `Promise`\<\{ `model`: `Model`; `real`: `Real`; \}\> - [Type Alias: ModelRunSetup\](https://fast-check.dev//docs/api/type-aliases/ModelRunSetup.md): > **ModelRunSetup**\<`Model`, `Real`\> = () => `object` - [Type Alias: OneOfConstraints](https://fast-check.dev//docs/api/type-aliases/OneOfConstraints.md): > **OneOfConstraints** = `object` - [Type Alias: OneOfValue\](https://fast-check.dev//docs/api/type-aliases/OneOfValue.md): > **OneOfValue**\<`Ts`\> = `{ [K in keyof Ts]: Ts[K] extends MaybeWeightedArbitrary ? U : never }`\[`number`\] - [Type Alias: PropertyFailure](https://fast-check.dev//docs/api/type-aliases/PropertyFailure.md): > **PropertyFailure** = `object` - [Type Alias: PropertyHookFunction](https://fast-check.dev//docs/api/type-aliases/PropertyHookFunction.md): > **PropertyHookFunction** = (`globalHookFunction`) => `void` - [Type Alias: RandomGenerator](https://fast-check.dev//docs/api/type-aliases/RandomGenerator.md): > **RandomGenerator** = `RandomGenerator7x` \| `RandomGenerator8x` \| `JumpableRandomGenerator8x` - [Type Alias: RandomType](https://fast-check.dev//docs/api/type-aliases/RandomType.md): > **RandomType** = `"mersenne"` \| `"congruential"` \| `"congruential32"` \| `"xorshift128plus"` \| `"xoroshiro128plus"` - [Type Alias: RecordConstraints\](https://fast-check.dev//docs/api/type-aliases/RecordConstraints.md): > **RecordConstraints**\<`T`\> = `object` - [Type Alias: RecordValue\](https://fast-check.dev//docs/api/type-aliases/RecordValue.md): > **RecordValue**\<`T`, `K`\> = `Prettify`\<`Partial`\<`T`\> & `Pick`\<`T`, `K` & keyof `T`\>\> - [Type Alias: RunDetails\](https://fast-check.dev//docs/api/type-aliases/RunDetails.md): > **RunDetails**\<`Ts`\> = [`RunDetailsFailureProperty`](../interfaces/RunDetailsFailureProperty.md)\<`Ts`\> \| [`RunDetailsFailureTooManySkips`](.... - [Type Alias: SchedulerAct](https://fast-check.dev//docs/api/type-aliases/SchedulerAct.md): > **SchedulerAct** = (`f`) => `Promise`\<`void`\> - [Type Alias: SchedulerSequenceItem\](https://fast-check.dev//docs/api/type-aliases/SchedulerSequenceItem.md): > **SchedulerSequenceItem**\<`TMetaData`\> = \{ `builder`: () => `Promise`\<`any`\>; `label`: `string`; `metadata?`: `TMetaData`; \} \| (() => `Pro... - [Type Alias: SetConstraints](https://fast-check.dev//docs/api/type-aliases/SetConstraints.md): > **SetConstraints** = `object` - [Type Alias: Size](https://fast-check.dev//docs/api/type-aliases/Size.md): > **Size** = `"xsmall"` \| `"small"` \| `"medium"` \| `"large"` \| `"xlarge"` - [Type Alias: SizeForArbitrary](https://fast-check.dev//docs/api/type-aliases/SizeForArbitrary.md): > **SizeForArbitrary** = `RelativeSize` \| [`Size`](Size.md) \| `"max"` \| `undefined` - [Type Alias: StringConstraints](https://fast-check.dev//docs/api/type-aliases/StringConstraints.md): > **StringConstraints** = [`StringSharedConstraints`](../interfaces/StringSharedConstraints.md) & `object` - [Type Alias: StringMatchingConstraints](https://fast-check.dev//docs/api/type-aliases/StringMatchingConstraints.md): > **StringMatchingConstraints** = `object` - [Type Alias: UniqueArrayConstraints\](https://fast-check.dev//docs/api/type-aliases/UniqueArrayConstraints.md): > **UniqueArrayConstraints**\<`T`, `U`\> = [`UniqueArrayConstraintsRecommended`](UniqueArrayConstraintsRecommended.md)\<`T`, `U`\> \| [`UniqueArray... - [Type Alias: UniqueArrayConstraintsCustomCompare\](https://fast-check.dev//docs/api/type-aliases/UniqueArrayConstraintsCustomCompare.md): > **UniqueArrayConstraintsCustomCompare**\<`T`\> = [`UniqueArraySharedConstraints`](UniqueArraySharedConstraints.md) & `object` - [Type Alias: UniqueArrayConstraintsCustomCompareSelect\](https://fast-check.dev//docs/api/type-aliases/UniqueArrayConstraintsCustomCompareSelect.md): > **UniqueArrayConstraintsCustomCompareSelect**\<`T`, `U`\> = [`UniqueArraySharedConstraints`](UniqueArraySharedConstraints.md) & `object` - [Type Alias: UniqueArrayConstraintsRecommended\](https://fast-check.dev//docs/api/type-aliases/UniqueArrayConstraintsRecommended.md): > **UniqueArrayConstraintsRecommended**\<`T`, `U`\> = [`UniqueArraySharedConstraints`](UniqueArraySharedConstraints.md) & `object` - [Type Alias: UniqueArraySharedConstraints](https://fast-check.dev//docs/api/type-aliases/UniqueArraySharedConstraints.md): > **UniqueArraySharedConstraints** = `object` - [Type Alias: WithAsyncToStringMethod](https://fast-check.dev//docs/api/type-aliases/WithAsyncToStringMethod.md): > **WithAsyncToStringMethod** = `object` - [Type Alias: WithToStringMethod](https://fast-check.dev//docs/api/type-aliases/WithToStringMethod.md): > **WithToStringMethod** = `object` - [Variable: asyncToStringMethod](https://fast-check.dev//docs/api/variables/asyncToStringMethod.md): > `const` **asyncToStringMethod**: unique `symbol` - [Variable: cloneMethod](https://fast-check.dev//docs/api/variables/cloneMethod.md): > `const` **cloneMethod**: unique `symbol` - [Variable: \_\_commitHash](https://fast-check.dev//docs/api/variables/commitHash.md): > `const` **\_\_commitHash**: `string` - [Variable: toStringMethod](https://fast-check.dev//docs/api/variables/toStringMethod.md): > `const` **toStringMethod**: unique `symbol` - [Variable: \_\_type](https://fast-check.dev//docs/api/variables/type.md): > `const` **\_\_type**: `string` - [Variable: \_\_version](https://fast-check.dev//docs/api/variables/version.md): > `const` **\_\_version**: `string` - [Custom reports](https://fast-check.dev//configuration/custom-reports.md): Customize how to report failures. - [Global settings](https://fast-check.dev//configuration/global-settings.md): Share settings cross runners. - [Larger entries by default](https://fast-check.dev//configuration/larger-entries-by-default.md): Customize the default "good enough" size for your tests. - [Timeouts](https://fast-check.dev//configuration/timeouts.md): Learn about the various timeout options available in the fast-check. - [User definable values](https://fast-check.dev//configuration/user-definable-values.md): Snapshot errors previously encountered and ask for help to reduce cases. - [Any](https://fast-check.dev//core-blocks/arbitraries/combiners/any.md): Combine and enhance any existing arbitraries. - [Constant](https://fast-check.dev//core-blocks/arbitraries/combiners/constant.md): Promote any set of constant values to arbitraries. - [Recursive Structure](https://fast-check.dev//core-blocks/arbitraries/combiners/recursive-structure.md): Define arbitraries able to generate recursive structures. - [String](https://fast-check.dev//core-blocks/arbitraries/combiners/string.md): Combine and enhance existing string arbitraries. - [Array](https://fast-check.dev//core-blocks/arbitraries/composites/array.md): Generate array values. - [Function](https://fast-check.dev//core-blocks/arbitraries/composites/function.md): Generate functions. - [Iterable](https://fast-check.dev//core-blocks/arbitraries/composites/iterable.md): Generate iterable values. - [Object](https://fast-check.dev//core-blocks/arbitraries/composites/object.md): Generate object values. - [Typed Array](https://fast-check.dev//core-blocks/arbitraries/composites/typed-array.md): Generate typed array values. - [File](https://fast-check.dev//core-blocks/arbitraries/fake-data/file.md): Generate file content values. - [Identifier](https://fast-check.dev//core-blocks/arbitraries/fake-data/identifier.md): Generate identifier values. - [Internet](https://fast-check.dev//core-blocks/arbitraries/fake-data/internet.md): Generate internet related values. - [Others](https://fast-check.dev//core-blocks/arbitraries/others.md): Several other arbitraries. - [BigInt](https://fast-check.dev//core-blocks/arbitraries/primitives/bigint.md): Generate bigint values. - [Boolean](https://fast-check.dev//core-blocks/arbitraries/primitives/boolean.md): Generate boolean values. - [Date](https://fast-check.dev//core-blocks/arbitraries/primitives/date.md): Generate date values. - [Number](https://fast-check.dev//core-blocks/arbitraries/primitives/number.md): Generate numeric values. - [String](https://fast-check.dev//core-blocks/arbitraries/primitives/string.md): Generate string values. - [Properties](https://fast-check.dev//core-blocks/properties.md): Define your properties. - [Runners](https://fast-check.dev//core-blocks/runners.md): Execute your properties. - [๐ŸŒฑ Ecosystem](https://fast-check.dev//docs/ecosystem.md): Bring additional capabilities to fast-check by leveraging its rich ecosystem of extensions and plugins - [Getting Started](https://fast-check.dev//introduction/getting-started.md): Get started with fast-check in an existing project. - [Track Record](https://fast-check.dev//introduction/track-record.md): Some examples of key projects with bugs detected by fast-check - [What is Property-Based Testing?](https://fast-check.dev//introduction/what-is-property-based-testing.md): Learn the basic concepts behind the approach. - [Why Property-Based Testing?](https://fast-check.dev//introduction/why-property-based.md): Learn about the benefits and advantages of property-based testing. If you have never encountered property-based testing before, it is best to start... - [From 3.x to 4.x](https://fast-check.dev//migration-guide/from-3.x-to-4.x.md): Simple migration guide to fast-check v4 starting from fast-check v3 - [Support us](https://fast-check.dev//docs/support-us.md): There are many ways you can contribute to fast-check: - [Detect race conditions](https://fast-check.dev//tutorials/detect-race-conditions.md): What's the plan for this tutorial? - [Multiple batches of calls](https://fast-check.dev//tutorials/detect-race-conditions/multiple-batches-of-calls.md): Third iteration, not only one batch firing all queries but multiple batches - [One step closer to real usages](https://fast-check.dev//tutorials/detect-race-conditions/one-step-closer-to-real-usages.md): Second iteration, make the test closer and detect even more race conditions - [The missing part](https://fast-check.dev//tutorials/detect-race-conditions/the-missing-part.md): Fourth iteration, check all the points of the specification - [Wrapping up](https://fast-check.dev//tutorials/detect-race-conditions/wrapping-up.md): Key learnings and summary of all our steps - [Your first race condition test](https://fast-check.dev//tutorials/detect-race-conditions/your-first-race-condition-test.md): First iteration, build your first test able to detect race conditions - [Tutorials](https://fast-check.dev//docs/tutorials/tutorials.md): Hands-on tutorials to learn Property-Based Testing with fast-check โ€” from your very first test to detecting real-world race conditions. - [Basic Setup](https://fast-check.dev//tutorials/quick-start/basic-setup.md): Setup your environment - [Our first Property-Based Test](https://fast-check.dev//tutorials/quick-start/our-first-property-based-test.md): Write your first test - [Read test reports](https://fast-check.dev//tutorials/quick-start/read-test-reports.md): Read and troubleshoot test report - [Setting up your Test Environment](https://fast-check.dev//tutorials/setting-up-your-test-environment.md): Discover step-by-step guides to configure your test environment for Property-Based Testing in JavaScript and TypeScript. Learn best practices - [Property Based Testing with Bun test runner](https://fast-check.dev//tutorials/setting-up-your-test-environment/property-based-testing-with-bun-test-runner.md): Enrich Bun test runner with Property-Based Testing capabilities. Discover best practices to setup fast-check for it - [Property Based Testing with Deno test runner](https://fast-check.dev//tutorials/setting-up-your-test-environment/property-based-testing-with-deno-test-runner.md): Bring Property-Based Testing capabilities into Deno with fast-check - [Property Based Testing with Jest](https://fast-check.dev//tutorials/setting-up-your-test-environment/property-based-testing-with-jest.md): Discover how to configure the integration of Property-Based Testing capabilities within Jest. Learn best practices to setup fast-check for it - [Property Based Testing with Node.js test runner](https://fast-check.dev//tutorials/setting-up-your-test-environment/property-based-testing-with-nodejs-test-runner.md): Extend the Node.js test runner with Property-Based Testing capabilities. Discover best practices to setup fast-check for it - [Property Based Testing with Vitest](https://fast-check.dev//tutorials/setting-up-your-test-environment/property-based-testing-with-vitest.md): Discover how to configure the integration of Property-Based Testing capabilities within Vitest. Learn best practices to set up fast-check for it - [fast-check โค๏ธ docusaurus](https://fast-check.dev//blog/2023-05-16-fast-check-loves-docusaurus/index.md): The story of fast-check's documentation: from markdown files accessible in the repository to a proper website available at [fast-check.dev](https:/... - [What's new in fast-check 3.9.0?](https://fast-check.dev//blog/2023-05-21-whats-new-in-fast-check-3-9-0/index.md): import Tabs from '@theme/Tabs'; - [What's new in fast-check 3.10.0?](https://fast-check.dev//blog/2023-05-30-whats-new-in-fast-check-3-10-0/index.md): This release comes with a new arbitrary called `stringMatching`. This arbitrary is responsible to generate strings matching the provided regex. It ... - [What's new in fast-check 3.11.0?](https://fast-check.dev//blog/2023-06-07-whats-new-in-fast-check-3-11-0/index.md): This release comes with a new arbitrary called `ulid`. This arbitrary is responsible to generate ULID strings - [What's new in fast-check 3.12.0?](https://fast-check.dev//blog/2023-07-24-whats-new-in-fast-check-3-12-0/index.md): This release introduces performance optimizations for `float`, `double` and `ulid`, along with the ability to define ranges with excluded boundarie... - [Dual packages or supporting both CJS and ESM](https://fast-check.dev//blog/2023-09-04-dual-packages-or-supporting-both-cjs-and-esm/index.md): As library authors and maintainers of fast-check, hiding the complexity of the build systems and making it as easy as possible for users to utilize... - [What's new in fast-check 3.13.0?](https://fast-check.dev//blog/2023-09-17-whats-new-in-fast-check-3-13-0/index.md): This release introduces some new opt-in options on `date`, `dictionary` and `record`. They open ways to detect new classes of bugs. - [Detect prototype pollution automatically](https://fast-check.dev//blog/2023-09-21-detect-prototype-pollution-automatically/index.md): Prototype pollution is among the most frequent sources of Common Vulnerabilities and Exposures - aka CVE - in the JavaScript ecosystem. As a result... - [Finding back a ReDoS vulnerability in Zod](https://fast-check.dev//blog/2023-10-05-finding-back-a-redos-vulnerability-in-zod/index.md): On the 28th of September 2023, a critical security vulnerability affecting all versions of [Zod](https://zod.dev/) was reported under th... - [What's new in fast-check 3.14.0?](https://fast-check.dev//blog/2023-11-22-whats-new-in-fast-check-3-14-0/index.md): This release changes the way we import type-only files internally in fast-check. While it should not have any visible impact on our clients we pref... - [What's new in fast-check 3.15.0?](https://fast-check.dev//blog/2024-03-01-whats-new-in-fast-check-3-15-0/index.md): This release added support for the parameter `depthIdentifier` on `dictionary`. - [What's new in fast-check 3.16.0?](https://fast-check.dev//blog/2024-03-04-whats-new-in-fast-check-3-16-0/index.md): This release makes `fc.pre` safer in terms of typings. It leverages the "[assertion function](https://www.typescriptlang.org/docs/handbook/release-... - [What's new in fast-check 3.17.0?](https://fast-check.dev//blog/2024-03-26-whats-new-in-fast-check-3-17-0/index.md): This release exposes additional details regarding the random generator passed to the property. It unlocks the ability to delegate random value gene... - [What's new in fast-check 3.18.0?](https://fast-check.dev//blog/2024-04-28-whats-new-in-fast-check-3-18-0/index.md): This release introduces some new opt-in options on floating point number arbitraries such as `float` and `double`. They offer simpler ways to only ... - [What's new in fast-check 3.19.0?](https://fast-check.dev//blog/2024-05-23-whats-new-in-fast-check-3-19-0/index.md): This release introduces new opt-in options for objects arbitraries such as `anything`, `object`, `json` and `jsonValue`. These options provide more... - [What's new in fast-check 3.20.0?](https://fast-check.dev//blog/2024-07-12-whats-new-in-fast-check-3-20-0/index.md): This release introduces new arbitraries to enhance shrinking capabilities and deprecates the `noShrink` and `noBias` methods in favor of these new ... - [Integrating Faker with fast-check](https://fast-check.dev//blog/2024-07-18-integrating-faker-with-fast-check/index.md): [Faker](https://fakerjs.dev) is a well-known and powerful library for generating fake data. It provides a wide range of random but realistic-lookin... - [What's new in fast-check 3.21.0?](https://fast-check.dev//blog/2024-08-10-whats-new-in-fast-check-3-21-0/index.md): This release introduces support for UUIDs version 6 to 15. It also extends `uuid` to allow specifying a single version or a set of versions. - [What's new in fast-check 3.22.0?](https://fast-check.dev//blog/2024-08-29-whats-new-in-fast-check-3-22-0/index.md): This release extends `string` capabilities to generate not only printable ASCII characters but also a wider range of values, finely definable by th... - [What's new in fast-check 3.23.0?](https://fast-check.dev//blog/2024-11-05-whats-new-in-fast-check-3-23-0/index.md): The previous release introduced the `unit` concept to the string arbitraries, enhancing control over string generation. In version 3.23.0, weโ€™ve ex... - [Advent of PBT 2024 ยท Day 1](https://fast-check.dev//blog/2024-12-01-advent-of-pbt-day-1/index.md): import { AdventPlaygroundOfTheDay, FormOfTheDay } from './AdventOfTheDay'; - [Advent of PBT 2024 ยท Day 2](https://fast-check.dev//blog/2024-12-02-advent-of-pbt-day-2/index.md): import { AdventPlaygroundOfTheDay, FormOfTheDay } from './AdventOfTheDay'; - [Advent of PBT 2024 ยท Day 3](https://fast-check.dev//blog/2024-12-03-advent-of-pbt-day-3/index.md): import { AdventPlaygroundOfTheDay, FormOfTheDay } from './AdventOfTheDay'; - [Advent of PBT 2024 ยท Day 4](https://fast-check.dev//blog/2024-12-04-advent-of-pbt-day-4/index.md): import { AdventPlaygroundOfTheDay, FormOfTheDay } from './AdventOfTheDay'; - [Advent of PBT 2024 ยท Day 5](https://fast-check.dev//blog/2024-12-05-advent-of-pbt-day-5/index.md): import { AdventPlaygroundOfTheDay, FormOfTheDay } from './AdventOfTheDay'; - [Advent of PBT 2024 ยท Day 6](https://fast-check.dev//blog/2024-12-06-advent-of-pbt-day-6/index.md): import { AdventPlaygroundOfTheDay, FormOfTheDay } from './AdventOfTheDay'; - [Advent of PBT 2024 ยท Day 7](https://fast-check.dev//blog/2024-12-07-advent-of-pbt-day-7/index.md): import { AdventPlaygroundOfTheDay, FormOfTheDay } from './AdventOfTheDay'; - [Advent of PBT 2024 ยท Day 8](https://fast-check.dev//blog/2024-12-08-advent-of-pbt-day-8/index.md): import { AdventPlaygroundOfTheDay, FormOfTheDay } from './AdventOfTheDay'; - [Advent of PBT 2024 ยท Day 9](https://fast-check.dev//blog/2024-12-09-advent-of-pbt-day-9/index.md): import { AdventPlaygroundOfTheDay, FormOfTheDay } from './AdventOfTheDay'; - [Advent of PBT 2024 ยท Day 10](https://fast-check.dev//blog/2024-12-10-advent-of-pbt-day-10/index.md): import { AdventPlaygroundOfTheDay, FormOfTheDay } from './AdventOfTheDay'; - [Advent of PBT 2024 ยท Day 11](https://fast-check.dev//blog/2024-12-11-advent-of-pbt-day-11/index.md): import { AdventPlaygroundOfTheDay, FormOfTheDay } from './AdventOfTheDay'; - [Advent of PBT 2024 ยท Day 12](https://fast-check.dev//blog/2024-12-12-advent-of-pbt-day-12/index.md): import { AdventPlaygroundOfTheDay, FormOfTheDay } from './AdventOfTheDay'; - [Advent of PBT 2024 ยท Day 13](https://fast-check.dev//blog/2024-12-13-advent-of-pbt-day-13/index.md): import { AdventPlaygroundOfTheDay, FormOfTheDay } from './AdventOfTheDay'; - [Advent of PBT 2024 ยท Day 14](https://fast-check.dev//blog/2024-12-14-advent-of-pbt-day-14/index.md): import { AdventPlaygroundOfTheDay, FormOfTheDay } from './AdventOfTheDay'; - [Advent of PBT 2024 ยท Day 15](https://fast-check.dev//blog/2024-12-15-advent-of-pbt-day-15/index.md): import { AdventPlaygroundOfTheDay, FormOfTheDay } from './AdventOfTheDay'; - [Advent of PBT 2024 ยท Day 16](https://fast-check.dev//blog/2024-12-16-advent-of-pbt-day-16/index.md): import { AdventPlaygroundOfTheDay, FormOfTheDay } from './AdventOfTheDay'; - [Advent of PBT 2024 ยท Day 17](https://fast-check.dev//blog/2024-12-17-advent-of-pbt-day-17/index.md): import { AdventPlaygroundOfTheDay, FormOfTheDay } from './AdventOfTheDay'; - [Advent of PBT 2024 ยท Day 18](https://fast-check.dev//blog/2024-12-18-advent-of-pbt-day-18/index.md): import { AdventPlaygroundOfTheDay, FormOfTheDay } from './AdventOfTheDay'; - [Advent of PBT 2024 ยท Day 19](https://fast-check.dev//blog/2024-12-19-advent-of-pbt-day-19/index.md): import { AdventPlaygroundOfTheDay, FormOfTheDay } from './AdventOfTheDay'; - [Advent of PBT 2024 ยท Day 20](https://fast-check.dev//blog/2024-12-20-advent-of-pbt-day-20/index.md): import { AdventPlaygroundOfTheDay, FormOfTheDay } from './AdventOfTheDay'; - [Advent of PBT 2024 ยท Day 21](https://fast-check.dev//blog/2024-12-21-advent-of-pbt-day-21/index.md): import { AdventPlaygroundOfTheDay, FormOfTheDay } from './AdventOfTheDay'; - [Advent of PBT 2024 ยท Day 22](https://fast-check.dev//blog/2024-12-22-advent-of-pbt-day-22/index.md): import { AdventPlaygroundOfTheDay, FormOfTheDay } from './AdventOfTheDay'; - [Advent of PBT 2024 ยท Day 23](https://fast-check.dev//blog/2024-12-23-advent-of-pbt-day-23/index.md): import { AdventPlaygroundOfTheDay, FormOfTheDay } from './AdventOfTheDay'; - [Advent of PBT 2024 ยท Day 24](https://fast-check.dev//blog/2024-12-24-advent-of-pbt-day-24/index.md): import { AdventPlaygroundOfTheDay, FormOfTheDay } from './AdventOfTheDay'; - [What's new in fast-check 4.0.0?](https://fast-check.dev//blog/2025-03-10-whats-new-in-fast-check-4-0-0/index.md): The release of fast-check 4.0.0 marks the end of the 3.x series. With this new version, we've streamlined and refined our APIs, embraced modern sta... - [Beyond flaky tests โ€” Bringing Controlled Randomness to Vitest](https://fast-check.dev//blog/2025-03-28-beyond-flaky-tests-bringing-controlled-randomness-to-vitest/index.md): Random failures in tests are frustrating and time-consuming to debug. What if your test runner could help eliminate flaky tests by safely handling ... - [What's new in fast-check 4.1.0?](https://fast-check.dev//blog/2025-04-06-whats-new-in-fast-check-4-1-0/index.md): With fast-check, reliability has always been at the heart of our mission. We strive to detect bugs that are not only rare but also extremely comple... - [What's new in fast-check 4.2.0?](https://fast-check.dev//blog/2025-07-18-whats-new-in-fast-check-4-2-0/index.md): With version 4.2.0, we are re-affirming our will to provide our users with efficient and easy to use primitives around race condition detection. Be... - [What's new in fast-check 4.3.0?](https://fast-check.dev//blog/2025-09-05-whats-new-in-fast-check-4-3-0/index.md): Dealing with potentially infinite data structures can quickly lead to memory issues. Up until now, the arbitrary responsible for generating infinit... - [What's new in fast-check 4.4.0?](https://fast-check.dev//blog/2025-12-15-whats-new-in-fast-check-4-4-0/index.md): We expand fast-check's collection of arbitraries with two data structures: `Map` and `Set`. These native collections are now first-class citizens i... - [What's new in fast-check 4.5.0?](https://fast-check.dev//blog/2026-01-15-whats-new-in-fast-check-4-5-0/index.md): Relational structures are among the hardest kinds of data to generate. Not only do entities need to be well-defined, but their links must also poin... - [What's new in fast-check 4.6.0?](https://fast-check.dev//blog/2026-03-09-whats-new-in-fast-check-4-6-0/index.md): Until now, `stringMatching` had no built-in way to cap the length of the produced strings except applying a manual post-filter on the generated val...