campus-errand/miniapp/node_modules/fast-check/lib/check/model/commands/CommandsIterable.js
2026-03-01 05:01:47 +08:00

22 lines
780 B
JavaScript

import { cloneMethod } from '../../symbols.js';
export class CommandsIterable {
constructor(commands, metadataForReplay) {
this.commands = commands;
this.metadataForReplay = metadataForReplay;
this[cloneMethod] = function () {
return new CommandsIterable(this.commands.map((c) => c.clone()), this.metadataForReplay);
};
}
[Symbol.iterator]() {
return this.commands[Symbol.iterator]();
}
toString() {
const serializedCommands = this.commands
.filter((c) => c.hasRan)
.map((c) => c.toString())
.join(',');
const metadata = this.metadataForReplay();
return metadata.length !== 0 ? `${serializedCommands} /*${metadata}*/` : serializedCommands;
}
}