Spaces:
Running
on
Zero
Running
on
Zero
# Primitive nodes that are evaluated at backend. | |
from __future__ import annotations | |
from comfy.comfy_types.node_typing import ComfyNodeABC, InputTypeDict, IO | |
class String(ComfyNodeABC): | |
def INPUT_TYPES(cls) -> InputTypeDict: | |
return { | |
"required": {"value": (IO.STRING, {})}, | |
} | |
RETURN_TYPES = (IO.STRING,) | |
FUNCTION = "execute" | |
CATEGORY = "utils/primitive" | |
def execute(self, value: str) -> tuple[str]: | |
return (value,) | |
class Int(ComfyNodeABC): | |
def INPUT_TYPES(cls) -> InputTypeDict: | |
return { | |
"required": {"value": (IO.INT, {"control_after_generate": True})}, | |
} | |
RETURN_TYPES = (IO.INT,) | |
FUNCTION = "execute" | |
CATEGORY = "utils/primitive" | |
def execute(self, value: int) -> tuple[int]: | |
return (value,) | |
class Float(ComfyNodeABC): | |
def INPUT_TYPES(cls) -> InputTypeDict: | |
return { | |
"required": {"value": (IO.FLOAT, {})}, | |
} | |
RETURN_TYPES = (IO.FLOAT,) | |
FUNCTION = "execute" | |
CATEGORY = "utils/primitive" | |
def execute(self, value: float) -> tuple[float]: | |
return (value,) | |
class Boolean(ComfyNodeABC): | |
def INPUT_TYPES(cls) -> InputTypeDict: | |
return { | |
"required": {"value": (IO.BOOLEAN, {})}, | |
} | |
RETURN_TYPES = (IO.BOOLEAN,) | |
FUNCTION = "execute" | |
CATEGORY = "utils/primitive" | |
def execute(self, value: bool) -> tuple[bool]: | |
return (value,) | |
NODE_CLASS_MAPPINGS = { | |
"PrimitiveString": String, | |
"PrimitiveInt": Int, | |
"PrimitiveFloat": Float, | |
"PrimitiveBoolean": Boolean, | |
} | |
NODE_DISPLAY_NAME_MAPPINGS = { | |
"PrimitiveString": "String", | |
"PrimitiveInt": "Int", | |
"PrimitiveFloat": "Float", | |
"PrimitiveBoolean": "Boolean", | |
} | |