@gatling.io/core
Version:
Gatling JS is a JavaScript/TypeScript interface for the [Gatling load testing tool](https://gatling.io/).
34 lines (33 loc) • 1.43 kB
TypeScript
import { SessionTo } from "../session";
import { ChoiceWithKey } from "./choices";
import { Executable } from "./execs";
import JvmDoSwitchOrElse = io.gatling.javaapi.core.condition.DoSwitchOrElse;
export interface On<T> {
on(...choices: ChoiceWithKey[]): OrElse<T>;
}
interface OrElse<T> {
orElse(executable: Executable<any>, ...executables: Executable<any>[]): T;
}
export interface DoSwitchOrElseFunction<T extends DoSwitchOrElse<T>> {
/**
* Execute one of the "choices" when the actual value is equal to the possibility's one, otherwise execute the "else"
* block.
*
* @param actual - the actual value expressed as a Gatling Expression Language String
* @returns a DSL component for defining the "choices"
*/
(actual: string): On<T>;
/**
* Execute one of the "choices" when the actual value is equal to the possibility's one, otherwise execute the "else"
* block.
*
* @param actual - the actual value expressed as a function
* @returns a DSL component for defining the "choices"
*/
(actual: SessionTo<unknown>): On<T>;
}
export interface DoSwitchOrElse<T extends DoSwitchOrElse<T>> {
doSwitchOrElse: DoSwitchOrElseFunction<T>;
}
export declare const doSwitchOrElseImpl: <J2, J1 extends JvmDoSwitchOrElse<J2, any>, T extends DoSwitchOrElse<T>>(jvmDoSwitchOrElse: J1, wrap: (wrapped: J2) => T) => DoSwitchOrElseFunction<T>;
export {};