Skip to main content

Branch node

Decision

The Branch node is a two-way split. Each input row is evaluated against a single predicate and routed to the then port if the predicate is truthy or the else port if it's falsy. It's the "if row matches, go here; otherwise go there" shape.

When to use

  • The routing decision is binary (matches vs doesn't match).
  • Router's N-way switch is overkill for two branches.
  • You want the resulting canvas to read like an if / else block.

Ports

PortDirectionKindNotes
inindataRows to evaluate.
thenoutdataRows where the predicate is truthy.
elseoutdataRows where the predicate is falsy.
erroroutcontrolFires when the predicate throws.
notifyoutcontrolNotification policy port.

Configuration

  • Predicate. Either a Filter-style rules group (structured) or a raw expression.

Runtime behaviour

  • Per-row evaluation. The predicate runs via evalTransformExpr.
  • Predicate errors route the row to error.