Это такой вот энум
enum DemoNode {
/// Node with single input.
/// Displays the value of the input.
Sink,
/// Value node with a single output.
/// The value is editable in UI.
Integer(i32),
/// Value node with a single output.
String(String),
/// Value node with a single output.
///
/// It has two inputs, ediable if not connected.
Add(Vec<i32>),
/// Converts URI to Image
Show(String),
}И уже вьюер сам знает что у
Sink есть 1 вход и 0 выходов, а у Add входов сколько значений + 1, а выход 1