mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2025-04-14 23:53:30 +00:00
80 lines
1.8 KiB
Python
80 lines
1.8 KiB
Python
# Primitive nodes that are evaluated at backend.
|
|
from __future__ import annotations
|
|
|
|
from comfy.comfy_types.node_typing import ComfyNodeABC, InputTypeDict, IO
|
|
|
|
|
|
class String(ComfyNodeABC):
|
|
@classmethod
|
|
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):
|
|
@classmethod
|
|
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):
|
|
@classmethod
|
|
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):
|
|
@classmethod
|
|
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",
|
|
}
|