"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.runHealthScript = void 0;
const index_1 = require("./index");
/**
 * Running a health script, is used when we want to have a simple
 * script in bash or something like that. It should return something that is useful
 * in {result: string} else it is considered an error
 * @param param0
 * @returns
 */
const runHealthScript = async (runCommand, subcontainer, { timeout = 30000, errorMessage = `Error while running command: ${runCommand}`, message = (res) => `Have ran script ${runCommand} and the result: ${res}`, } = {}) => {
    const res = await Promise.race([
        subcontainer.execFail(runCommand),
        (0, index_1.timeoutPromise)(timeout),
    ]).catch((e) => {
        console.warn(errorMessage);
        console.warn(JSON.stringify(e));
        console.warn(e.toString());
        throw { result: 'failure', message: errorMessage };
    });
    return {
        result: 'success',
        message: message(res.stdout.toString()),
    };
};
exports.runHealthScript = runHealthScript;
//# sourceMappingURL=runHealthScript.js.map