"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.RunInfo = void 0;
class RunInfo {
    runIfSuccessful;
    inProgress = false;
    successful = false;
    atLeastOneSuccess = false;
    canRun = true;
    cannotRun = false;
    constructor(runIfSuccessful = false) {
        this.runIfSuccessful = runIfSuccessful;
    }
    start() {
        this.inProgress = true;
        this.canRun = false;
        this.cannotRun = true;
    }
    success() {
        this.inProgress = false;
        this.successful = true;
        this.atLeastOneSuccess = true;
        this.canRun = this.runIfSuccessful;
        this.cannotRun = !this.runIfSuccessful;
    }
    reset() {
        this.inProgress = false;
        this.successful = false;
        this.canRun = true;
        this.cannotRun = false;
    }
    abort() {
        this.reset();
    }
}
exports.RunInfo = RunInfo;
