diff --git a/src/basic_data_handling/control_flow_nodes.py b/src/basic_data_handling/control_flow_nodes.py index 6c994a9..23d414c 100644 --- a/src/basic_data_handling/control_flow_nodes.py +++ b/src/basic_data_handling/control_flow_nodes.py @@ -251,6 +251,37 @@ class FlowSelect(ComfyNodeABC): return ExecutionBlocker(None), value +class FlowSelect(ComfyNodeABC): + """ + Select the direction of the flow. + + This node takes a value and directs it to either the "true" or "false" output. + + Note: for dynamic switching in a Data Flow you might want to use + "filter select" instead. + """ + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "value": (IO.ANY, {}), + "select": (IO.BOOLEAN, {}), + } + } + + RETURN_TYPES = (IO.ANY, IO.ANY) + RETURN_NAMES = ("true", "false") + CATEGORY = "Basic/flow control" + DESCRIPTION = cleandoc(__doc__ or "") + FUNCTION = "select" + + def select(self, value, select = True) -> tuple[Any, Any]: + if select: + return value, ExecutionBlocker(None) + else: + return ExecutionBlocker(None), value + + NODE_CLASS_MAPPINGS = { "Basic data handling: IfElse": IfElse, "Basic data handling: IfElifElse": IfElifElse,