Skip to main content

Type Alias: ProcessableEdge

ProcessableEdge = "step" | "branch" | "repeat" | "parallel" | "error"

Defined in: packages/core/src/types.ts:321

How a child processable is reached from its parent.

Deliberately about edges rather than node types. A node-level enum does not survive the primitives: tryCatch retries its try child, selects its catch child at runtime, and always runs its finally child — three different relationships from one node. Tagging the edge instead lets each child say what it is, and lets one node hold several kinds at once.

The set is closed by what a directed graph can express, so it should stay small:

  • step — always runs, in sibling order
  • branch — one of several, chosen while running
  • repeat — runs zero or more times; a back edge
  • parallel — runs alongside its siblings, results joined
  • error — reached only when something upstream failed

Adding a primitive should mean picking one of these. Needing a sixth is worth pausing over: it means the new primitive connects its children in a way nothing else does.