diff --git a/comfy_extras/nodes_logic.py b/comfy_extras/nodes_logic.py index d66453ae5..4b8012e12 100644 --- a/comfy_extras/nodes_logic.py +++ b/comfy_extras/nodes_logic.py @@ -1,3 +1,4 @@ +from __future__ import annotations from typing import TypedDict from typing_extensions import override from comfy_api.latest import ComfyExtension, io @@ -38,6 +39,28 @@ class SwitchNode(io.ComfyNode): return io.NodeOutput(on_true if switch else on_false) +class MatchTypeTestNode(io.ComfyNode): + @classmethod + def define_schema(cls): + template = io.MatchType.Template("switch", [io.Image, io.Mask, io.Latent]) + return io.Schema( + node_id="MatchTypeTestNode", + display_name="MatchTypeTest", + category="logic", + is_experimental=True, + inputs=[ + io.MatchType.Input("input", template=template), + ], + outputs=[ + io.MatchType.Output(template=template, display_name="output"), + ], + ) + + @classmethod + def execute(cls, input) -> io.NodeOutput: + return io.NodeOutput(input) + + class SoftSwitchNode(io.ComfyNode): @classmethod def define_schema(cls): @@ -222,6 +245,7 @@ class LogicExtension(ComfyExtension): AutogrowNamesTestNode, AutogrowPrefixTestNode, ComboOutputTestNode, + MatchTypeTestNode, ] async def comfy_entrypoint() -> LogicExtension: