Pack Union icon

Pack Union

1 Version

Combines multiple input streams into one union-typed output. Each emitted value carries its original variant tag. Inverse of {{component:unpack_union}}.

How it fits

{{type:t1}} -+
{{type:t2}} -+-> {{component:pack_union}} -> {{type:t1|t2}}

Typical backends

  • Heterogeneous event bus: distinct event sources (each its own type) -> {{component:pack_union}} -> {{component:output_json_http}}.
  • Multi-modal output: text events + image events -> {{component:pack_union}} -> downstream router.
  • Fault + payload channel: error events + normal payloads -> {{component:pack_union}} -> {{component:unpack_union}} on the consumer side.
  • Multiplexed control bus: command streams of different shapes -> {{component:pack_union}} -> {{component:output_json_http}}.

Caveats

  • Exactly one variant is emitted per tick — corresponds to whichever input fired that tick.
  • Downstream must {{component:unpack_union}} (or type-branch) before consuming variant-specific fields.
  • Inputs must not fire simultaneously on a single tick; concurrent fires resolve non-deterministically.

Versions

  • 25fe570ddefaultlatestlinuxTransformation