UNPKG

@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
"use strict"; 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;