/** * Discards the shrinker for this generator and applies a new shrinker by * mapping each value to a sample using the specified function. This is useful * when the process to shrink a value is simpler than the process used to * generate it. * * @tsplus static effect/core/testing/Gen.Aspects reshrink * @tsplus pipeable effect/core/testing/Gen reshrink */ export function reshrink(f: (a: A) => Sample) { return (self: Gen): Gen => Gen(self.sample.map((maybe) => maybe.map( (sample) => f(sample.value) ) ) as Stream>>) }