@gatling.io/core
Version:
Gatling JS is a JavaScript/TypeScript interface for the [Gatling load testing tool](https://gatling.io/).
46 lines (45 loc) • 1.88 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.asLongAsImpl = void 0;
const session_1 = require("../session");
const on_1 = require("./on");
const asLongAsImpl = (jvmAsLongAs, wrap) => (condition, arg1, arg2) => {
if (arg2 !== undefined && typeof arg1 === "string") {
// asLongAs(condition, counterName, exitASAP)
if (typeof condition === "function") {
return (0, on_1.wrapOn)(jvmAsLongAs.asLongAs((0, session_1.underlyingSessionTo)(condition), arg1, arg2), wrap);
}
else {
return (0, on_1.wrapOn)(jvmAsLongAs.asLongAs(condition, arg1, arg2), wrap);
}
}
else if (typeof arg1 === "string") {
// asLongAs(condition, counterName)
if (typeof condition === "function") {
return (0, on_1.wrapOn)(jvmAsLongAs.asLongAs((0, session_1.underlyingSessionTo)(condition), arg1), wrap);
}
else {
return (0, on_1.wrapOn)(jvmAsLongAs.asLongAs(condition, arg1), wrap);
}
}
else if (typeof arg1 === "boolean") {
// asLongAs(condition, exitASAP)
if (typeof condition === "function") {
return (0, on_1.wrapOn)(jvmAsLongAs.asLongAs((0, session_1.underlyingSessionTo)(condition), arg1), wrap);
}
else {
return (0, on_1.wrapOn)(jvmAsLongAs.asLongAs(condition, arg1), wrap);
}
}
else if (arg1 === undefined) {
// asLongAs(condition)
if (typeof condition === "function") {
return (0, on_1.wrapOn)(jvmAsLongAs.asLongAs((0, session_1.underlyingSessionTo)(condition)), wrap);
}
else {
return (0, on_1.wrapOn)(jvmAsLongAs.asLongAs(condition), wrap);
}
}
throw Error(`asLongAs() called with invalid arguments ${condition}, ${arg1}, ${arg2}`);
};
exports.asLongAsImpl = asLongAsImpl;