Initial commit
This commit is contained in:
commit
b3a51a4115
10336 changed files with 2381973 additions and 0 deletions
23
node_modules/fast-check/lib/esm/arbitrary/_internals/AlwaysShrinkableArbitrary.js
generated
vendored
Normal file
23
node_modules/fast-check/lib/esm/arbitrary/_internals/AlwaysShrinkableArbitrary.js
generated
vendored
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
import { Arbitrary } from '../../check/arbitrary/definition/Arbitrary.js';
|
||||
import { Stream } from '../../stream/Stream.js';
|
||||
import { noUndefinedAsContext, UndefinedContextPlaceholder } from './helpers/NoUndefinedAsContext.js';
|
||||
export class AlwaysShrinkableArbitrary extends Arbitrary {
|
||||
constructor(arb) {
|
||||
super();
|
||||
this.arb = arb;
|
||||
}
|
||||
generate(mrng, biasFactor) {
|
||||
const value = this.arb.generate(mrng, biasFactor);
|
||||
return noUndefinedAsContext(value);
|
||||
}
|
||||
canShrinkWithoutContext(value) {
|
||||
return true;
|
||||
}
|
||||
shrink(value, context) {
|
||||
if (context === undefined && !this.arb.canShrinkWithoutContext(value)) {
|
||||
return Stream.nil();
|
||||
}
|
||||
const safeContext = context !== UndefinedContextPlaceholder ? context : undefined;
|
||||
return this.arb.shrink(value, safeContext).map(noUndefinedAsContext);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue