FlowDrop Workflow Specification 1.0-draft

An unconnected dynamic input resolves to null, with its key present

The rule

Normative: this is the rule
  1. A dynamic input port with nothing wired into it resolves to null, and its key is present in the node's resolved inputs.
  2. Nothing arriving on the wire is not the same as the port being absent.

What it means

A dynamic input with nothing wired to it is not left out of a node's resolved inputs — it is present, holding null. A processor reading its inputs cannot tell "nothing arrived on this wire" apart from "this port does not exist" by checking for the key; it has to check the value.

Example

A node declares two dynamic inputs, and only one has anything wired to it:

A dynamic input with nothing wired to it
{ "dynamicInputs": [{ "name": "connected", "label": "C", "dataType": "string" }, { "name": "unconnected", "label": "U", "dataType": "string" }], "connected": "value" }
What resolving the node's inputs returnspresent
{ "connected": "value", "unconnected": null }
Rule identifiers are permanent and are never renumbered. Each implementation publishes its own standing against these rules; this specification does not.spec 1.0-draft · DYN-4 · changed in spec 1.0