Switch
Aiguillage multi-branches selon la valeur d'une expression. Chaque cas (case) dirige le flux vers une branche differente. Un cas par defaut (fallback) capture les valeurs non prevues.
Parametres
| Parametre | Type | Requis | Variable | Description |
|---|---|---|---|---|
switchExpression | valeur dynamique | Oui | Oui | Expression a evaluer pour le branchement. Chaque item est compare aux cases definis. |
cases | liste | Oui | Non | Liste des cases. Chaque case a un identifiant, un libelle, un operateur de comparaison et une valeur. |
options.fallback | choix (none, extraOutput, firstOutput) | Non | Non | Comportement si aucun case ne correspond : ignorer, router vers une sortie fallback, ou router vers le premier case. (Defaut: "extraOutput") |
options.itemMode | choix (each, first, all) | Non | Non | Mode de traitement : evaluer chaque item individuellement, router selon le premier item, ou router si tous les items correspondent. (Defaut: "each") |
options.matchStrategy | choix (firstMatch, allMatches) | Non | Non | Strategie de correspondance : s'arreter au premier case qui correspond, ou envoyer a tous les cases correspondants. (Defaut: "firstMatch") |
options.typeValidation | choix (strict, loose) | Non | Non | Validation de type : strict (erreur si types incompatibles) ou permissif (conversion automatique). (Defaut: "loose") |
options.ignoreCase | oui/non | Non | Non | Ignorer la casse lors des comparaisons de texte. (Defaut: false) |
outputVariable | texte | Non | Non | Nom de la variable de sortie pour le resultat du branchement. |
Les parametres marques Variable = Oui acceptent la syntaxe
{{nomBloc.champ}}.
Sortie
Variable de sortie : switchResult
{
"matchedCase": "..."
}
Exemple
Diriger le flux selon le type de demande.
Entree :
{"type": "urgent"}
Sortie :
{"matchedCase": "urgent"}
Astuce
{{switchResult.matchedCase}} contient le nom du cas qui a ete selectionne. Si aucun cas ne correspond, le flux passe par la branche "fallback".