Switch
Descripcion
Sección titulada «Descripcion»El modulo Switch evalua multiples condiciones definidas como rutas y enruta los datos hacia las salidas correspondientes. Funciona de forma similar a un switch/case en programacion. Soporta dos modos de evaluacion: first_match (solo la primera coincidencia) y all_matches (todas las coincidencias en paralelo). Cada ruta define un campo a evaluar, un operador de comparacion y un valor de referencia. Los operadores disponibles incluyen: igualdad, desigualdad, mayor/menor que, contiene, empieza/termina con, esta vacio, pertenece a lista, y expresiones regulares. Si ninguna condicion se cumple, los datos se envian por la ruta Default. Soporta hasta 4 rutas personalizadas mas la ruta Default.
Configuracion
Sección titulada «Configuracion»Parametros
Sección titulada «Parametros»| Parametro | Tipo | Requerido | Descripcion |
|---|---|---|---|
| mode | select | Si | Modo de evaluacion: Primera coincidencia (first_match) o Todas las coincidencias (all_matches). Por defecto: first_match. |
| routes | switchRoutes | No | Define las condiciones para cada ruta de salida. Cada ruta evalua un campo con un operador y valor. |
{ "nextModule": "modulo_ruta_1", "data": { "datos_originales": "sin_modificar" }, "_meta_": { "switchMode": "first_match", "matchedRoutes": [ { "index": 0, "name": "Ruta VIP", "target": "procesoVIP" } ], "usedDefault": false, "totalRoutes": 3, "evaluatedAt": "2026-03-23T10:00:00.000Z" }}Ejemplo de Uso
Sección titulada «Ejemplo de Uso»Caso basico
Sección titulada «Caso basico»{ "label": "Switch", "mode": "first_match", "routes": [ { "name": "Ruta VIP", "field": "data.tipo_cliente", "operator": "equals", "value": "vip" }, { "name": "Ruta Premium", "field": "data.tipo_cliente", "operator": "equals", "value": "premium" }, { "name": "Monto Alto", "field": "data.monto", "operator": "greater_than", "value": "1000" } ]}- Operadores disponibles:
equals(==),not_equals(!=),greater_than(>),less_than(<),greater_or_equal(>=),less_or_equal(<=),contains,not_contains,starts_with,ends_with,is_empty,is_not_empty,in,not_in,regex. - En modo
first_match, se detiene en la primera ruta que cumple la condicion. - En modo
all_matches, envia los datos a todas las rutas que cumplen (en paralelo) y retorna un array de nextModule. - Las comparaciones de texto (
contains,starts_with,ends_with,in,not_in) son case-insensitive. - Soporta paths con punto para acceder a propiedades anidadas usando lodash
_.get(ej:user.address.city). - Para el operador
in, los valores se separan por comas (ej:"vip,premium,gold"). - Soporta hasta 4 rutas configurables (route_0 a route_3) mas la ruta Default.
- Los datos pasan sin modificar; el Switch solo decide la ruta.
Nodos Relacionados
Sección titulada «Nodos Relacionados»- Decision - evaluacion binaria simple true/false
- Router - enrutamiento por valor de campo con coincidencia exacta
- MergeMultiple - para reunir ramas paralelas del Switch