@gatling.io/core
Version:
Gatling JS is a JavaScript/TypeScript interface for the [Gatling load testing tool](https://gatling.io/).
41 lines (40 loc) • 2.01 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.doIfEqualsOrElseImpl = exports.doIfOrElseImpl = void 0;
const session_1 = require("../session");
const wrapThen = (jvmThen, wrap) => ({
then: (executable, ...executables) => wrapOrElse(jvmThen.then(executable._underlying, ...executables.map((e) => e._underlying)), wrap)
});
const wrapOrElse = (jvmOrElse, wrap) => ({
orElse: (executable, ...executables) => wrap(jvmOrElse.orElse(executable._underlying, ...executables.map((e) => e._underlying)))
});
const doIfOrElseImpl = (jvmDoIfOrElse, wrap) => (condition) => wrapThen(typeof condition === "function"
? jvmDoIfOrElse.doIfOrElse((0, session_1.underlyingSessionTo)(condition))
: jvmDoIfOrElse.doIfOrElse(condition), wrap);
exports.doIfOrElseImpl = doIfOrElseImpl;
const doIfEqualsOrElseImpl = (jvmDoIfEqualsOrElse, wrap) => (actual, expected) => {
if (typeof actual === "function") {
const wrappedActual = (0, session_1.underlyingSessionTo)(actual);
if (typeof expected === "function") {
return wrapThen(jvmDoIfEqualsOrElse.doIfEqualsOrElse(wrappedActual, (0, session_1.underlyingSessionTo)(expected)), wrap);
}
else if (typeof expected === "string") {
return wrapThen(jvmDoIfEqualsOrElse.doIfEqualsOrElse(wrappedActual, expected), wrap);
}
else {
return wrapThen(jvmDoIfEqualsOrElse.doIfEqualsOrElse(wrappedActual, expected), wrap);
}
}
else {
if (typeof expected === "function") {
return wrapThen(jvmDoIfEqualsOrElse.doIfEqualsOrElse(actual, (0, session_1.underlyingSessionTo)(expected)), wrap);
}
else if (typeof expected === "string") {
return wrapThen(jvmDoIfEqualsOrElse.doIfEqualsOrElse(actual, expected), wrap);
}
else {
return wrapThen(jvmDoIfEqualsOrElse.doIfEqualsOrElse(actual, expected), wrap);
}
}
};
exports.doIfEqualsOrElseImpl = doIfEqualsOrElseImpl;