Initial commit
This commit is contained in:
commit
b3a51a4115
10336 changed files with 2381973 additions and 0 deletions
25
node_modules/fast-check/lib/check/runner/utils/PathWalker.js
generated
vendored
Normal file
25
node_modules/fast-check/lib/check/runner/utils/PathWalker.js
generated
vendored
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.pathWalk = pathWalk;
|
||||
function produce(producer) {
|
||||
return producer();
|
||||
}
|
||||
function pathWalk(path, initialProducers, shrink) {
|
||||
const producers = initialProducers;
|
||||
const segments = path.split(':').map((text) => +text);
|
||||
if (segments.length === 0) {
|
||||
return producers.map(produce);
|
||||
}
|
||||
if (!segments.every((v) => !Number.isNaN(v))) {
|
||||
throw new Error(`Unable to replay, got invalid path=${path}`);
|
||||
}
|
||||
let values = producers.drop(segments[0]).map(produce);
|
||||
for (const s of segments.slice(1)) {
|
||||
const valueToShrink = values.getNthOrLast(0);
|
||||
if (valueToShrink === null) {
|
||||
throw new Error(`Unable to replay, got wrong path=${path}`);
|
||||
}
|
||||
values = shrink(valueToShrink).drop(s);
|
||||
}
|
||||
return values;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue