UNPKG

@gatling.io/core

Version:

Gatling JS is a JavaScript/TypeScript interface for the [Gatling load testing tool](https://gatling.io/).

91 lines (90 loc) 5.09 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.asLongAsDuringImpl = void 0; const duration_1 = require("../utils/duration"); const session_1 = require("../session"); const on_1 = require("./on"); const asLongAsDuringImpl = (jvmAsLongAsDuring, wrap) => (condition, duration, arg2, arg3) => { if (arg3 !== undefined && typeof arg2 === "string") { // asLongAsDuring(condition, duration, counterName, exitASAP) if (typeof condition === "function") { const wrappedCondition = (0, session_1.underlyingSessionTo)(condition); if ((0, duration_1.isDuration)(duration)) { return (0, on_1.wrapOn)(jvmAsLongAsDuring.asLongAsDuring(wrappedCondition, (0, duration_1.toJvmDuration)(duration), arg2, arg3), wrap); } else if (typeof duration === "function") { return (0, on_1.wrapOn)(jvmAsLongAsDuring.asLongAsDuring(wrappedCondition, (0, session_1.underlyingSessionToDuration)(duration), arg2, arg3), wrap); } } else { if ((0, duration_1.isDuration)(duration)) { return (0, on_1.wrapOn)(jvmAsLongAsDuring.asLongAsDuring(condition, (0, duration_1.toJvmDuration)(duration), arg2, arg3), wrap); } else if (typeof duration === "function") { return (0, on_1.wrapOn)(jvmAsLongAsDuring.asLongAsDuring(condition, (0, session_1.underlyingSessionToDuration)(duration), arg2, arg3), wrap); } } } else if (typeof arg2 === "string") { // asLongAsDuring(condition, duration, counterName) if (typeof condition === "function") { const wrappedCondition = (0, session_1.underlyingSessionTo)(condition); if ((0, duration_1.isDuration)(duration)) { return (0, on_1.wrapOn)(jvmAsLongAsDuring.asLongAsDuring(wrappedCondition, (0, duration_1.toJvmDuration)(duration), arg2), wrap); } else if (typeof duration === "function") { return (0, on_1.wrapOn)(jvmAsLongAsDuring.asLongAsDuring(wrappedCondition, (0, session_1.underlyingSessionToDuration)(duration), arg2), wrap); } } else { if ((0, duration_1.isDuration)(duration)) { return (0, on_1.wrapOn)(jvmAsLongAsDuring.asLongAsDuring(condition, (0, duration_1.toJvmDuration)(duration), arg2), wrap); } else if (typeof duration === "function") { return (0, on_1.wrapOn)(jvmAsLongAsDuring.asLongAsDuring(condition, (0, session_1.underlyingSessionToDuration)(duration), arg2), wrap); } } } else if (typeof arg2 === "boolean") { // asLongAsDuring(condition, duration, exitASAP) if (typeof condition === "function") { const wrappedCondition = (0, session_1.underlyingSessionTo)(condition); if ((0, duration_1.isDuration)(duration)) { return (0, on_1.wrapOn)(jvmAsLongAsDuring.asLongAsDuring(wrappedCondition, (0, duration_1.toJvmDuration)(duration), arg2), wrap); } else if (typeof duration === "function") { return (0, on_1.wrapOn)(jvmAsLongAsDuring.asLongAsDuring(wrappedCondition, (0, session_1.underlyingSessionToDuration)(duration), arg2), wrap); } } else { if ((0, duration_1.isDuration)(duration)) { return (0, on_1.wrapOn)(jvmAsLongAsDuring.asLongAsDuring(condition, (0, duration_1.toJvmDuration)(duration), arg2), wrap); } else if (typeof duration === "function") { return (0, on_1.wrapOn)(jvmAsLongAsDuring.asLongAsDuring(condition, (0, session_1.underlyingSessionToDuration)(duration), arg2), wrap); } } } else if (arg2 === undefined) { // asLongAsDuring(condition, duration) if (typeof condition === "function") { const wrappedCondition = (0, session_1.underlyingSessionTo)(condition); if ((0, duration_1.isDuration)(duration)) { return (0, on_1.wrapOn)(jvmAsLongAsDuring.asLongAsDuring(wrappedCondition, (0, duration_1.toJvmDuration)(duration)), wrap); } else if (typeof duration === "function") { return (0, on_1.wrapOn)(jvmAsLongAsDuring.asLongAsDuring(wrappedCondition, (0, session_1.underlyingSessionToDuration)(duration)), wrap); } } else { if ((0, duration_1.isDuration)(duration)) { return (0, on_1.wrapOn)(jvmAsLongAsDuring.asLongAsDuring(condition, (0, duration_1.toJvmDuration)(duration)), wrap); } else if (typeof duration === "function") { return (0, on_1.wrapOn)(jvmAsLongAsDuring.asLongAsDuring(condition, (0, session_1.underlyingSessionToDuration)(duration)), wrap); } } } throw Error(`asLongAsDuring() called with invalid arguments ${condition}, ${duration}, ${arg2}, ${arg3}`); }; exports.asLongAsDuringImpl = asLongAsDuringImpl;