69 lines
2.0 KiB
TypeScript
69 lines
2.0 KiB
TypeScript
/**
|
|
* @since 3.10.0
|
|
*/
|
|
import * as FastCheck from "./FastCheck.js";
|
|
import type * as Schema from "./Schema.js";
|
|
/**
|
|
* @category model
|
|
* @since 3.10.0
|
|
*/
|
|
export interface LazyArbitrary<A> {
|
|
(fc: typeof FastCheck): FastCheck.Arbitrary<A>;
|
|
}
|
|
/**
|
|
* @category annotations
|
|
* @since 3.10.0
|
|
*/
|
|
export interface ArbitraryGenerationContext {
|
|
readonly maxDepth: number;
|
|
readonly depthIdentifier?: string;
|
|
readonly constraints?: StringConstraints | NumberConstraints | BigIntConstraints | DateConstraints | ArrayConstraints;
|
|
}
|
|
/**
|
|
* @category annotations
|
|
* @since 3.10.0
|
|
*/
|
|
export type ArbitraryAnnotation<A, TypeParameters extends ReadonlyArray<any> = readonly []> = (...arbitraries: [
|
|
...{
|
|
readonly [K in keyof TypeParameters]: LazyArbitrary<TypeParameters[K]>;
|
|
},
|
|
ctx: ArbitraryGenerationContext
|
|
]) => LazyArbitrary<A>;
|
|
/**
|
|
* Returns a LazyArbitrary for the `A` type of the provided schema.
|
|
*
|
|
* @category arbitrary
|
|
* @since 3.10.0
|
|
*/
|
|
export declare const makeLazy: <A, I, R>(schema: Schema.Schema<A, I, R>) => LazyArbitrary<A>;
|
|
/**
|
|
* Returns a fast-check Arbitrary for the `A` type of the provided schema.
|
|
*
|
|
* @category arbitrary
|
|
* @since 3.10.0
|
|
*/
|
|
export declare const make: <A, I, R>(schema: Schema.Schema<A, I, R>) => FastCheck.Arbitrary<A>;
|
|
interface StringConstraints {
|
|
readonly _tag: "StringConstraints";
|
|
readonly constraints: FastCheck.StringSharedConstraints;
|
|
readonly pattern?: string;
|
|
}
|
|
interface NumberConstraints {
|
|
readonly _tag: "NumberConstraints";
|
|
readonly constraints: FastCheck.FloatConstraints;
|
|
readonly isInteger: boolean;
|
|
}
|
|
interface BigIntConstraints {
|
|
readonly _tag: "BigIntConstraints";
|
|
readonly constraints: FastCheck.BigIntConstraints;
|
|
}
|
|
interface ArrayConstraints {
|
|
readonly _tag: "ArrayConstraints";
|
|
readonly constraints: FastCheck.ArrayConstraints;
|
|
}
|
|
interface DateConstraints {
|
|
readonly _tag: "DateConstraints";
|
|
readonly constraints: FastCheck.DateConstraints;
|
|
}
|
|
export {};
|
|
//# sourceMappingURL=Arbitrary.d.ts.map
|