UNPKG

fast-check

Version:

Property based testing framework for JavaScript (like QuickCheck)

19 lines (18 loc) 709 B
import type { Arbitrary } from '../check/arbitrary/definition/Arbitrary.js'; /** * Type of the value produced by {@link clone} * @remarks Since 2.5.0 * @public */ export type CloneValue<T, N extends number, Rest extends T[] = []> = [number] extends [N] ? T[] : Rest['length'] extends N ? Rest : CloneValue<T, N, [T, ...Rest]>; /** * Clone the values generated by `arb` in order to produce fully equal values (might not be equal in terms of === or ==) * * @param arb - Source arbitrary * @param numValues - Number of values to produce * * @remarks Since 2.5.0 * @public */ declare function clone<T, N extends number>(arb: Arbitrary<T>, numValues: N): Arbitrary<CloneValue<T, N>>; export { clone };