|
|
|
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", |
|
} |
|
|