UNPKG

713 BTypeScriptView Raw
1import { Arbitrary } from '../check/arbitrary/definition/Arbitrary';
2/**
3 * Type of the value produced by {@link clone}
4 * @remarks Since 2.5.0
5 * @public
6 */
7export declare type CloneValue<T, N extends number> = N extends 0 ? [] : N extends 1 ? [T] : N extends 2 ? [T, T] : N extends 3 ? [T, T, T] : N extends 4 ? [T, T, T, T] : T[];
8/**
9 * Clone the values generated by `arb` in order to produce fully equal values (might not be equal in terms of === or ==)
10 *
11 * @param arb - Source arbitrary
12 * @param numValues - Number of values to produce
13 *
14 * @remarks Since 2.5.0
15 * @public
16 */
17declare function clone<T, N extends number>(arb: Arbitrary<T>, numValues: N): Arbitrary<CloneValue<T, N>>;
18export { clone };