Update nodes_types.py

This commit is contained in:
LaVie024 2025-05-18 17:29:44 +00:00 committed by GitHub
parent a372f79de4
commit 2754f42d1f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -15,65 +15,40 @@ def float_to_int(value: float, mode: str) -> int:
else: else:
raise ValueError(f"Unknown mode: {mode}") raise ValueError(f"Unknown mode: {mode}")
class IntToFloat: class IntToAll:
@classmethod @classmethod
def INPUT_TYPES(cls): def INPUT_TYPES(cls):
return {"required": {"value": ("INT", {"default": 0})}} return {"required": {"value": ("INT", {"default": 0})}}
RETURN_TYPES = ("FLOAT",) RETURN_TYPES = ("BOOLEAN","FLOAT","STRING",)
FUNCTION = "convert_type" FUNCTION = "convert_type"
CATEGORY = "utils/type_convert" CATEGORY = "utils/type_convert"
def convert_type(self, value) -> float: def convert_type(self, value):
return (float(value),) return (bool(value), float(value), str(value),)
class FloatToInt: class FloatToAll:
@classmethod @classmethod
def INPUT_TYPES(cls): def INPUT_TYPES(cls):
return {"required": { return {"required": {
"value": ("FLOAT", {"default": 0.0, "round": False}), "value": ("FLOAT", {"default": 0.0, "round": False}),
"mode": (ROUND_MODES,) "mode": (ROUND_MODES,),
"string_round_value": ("BOOLEAN", {"default": True}),
"string_round_to": ("INT", {"default": 2, "min": 0})
}, },
} }
RETURN_TYPES = ("INT",) RETURN_TYPES = ("BOOLEAN","INT","STRING",)
FUNCTION = "convert_type" FUNCTION = "convert_type"
CATEGORY = "utils/type_convert" CATEGORY = "utils/type_convert"
def convert_type(self, value, mode) -> int: def convert_type(self, value, mode, string_round_value, string_round_to):
return (float_to_int(value, mode),) if string_round_value:
string_out = f"{value:.{string_round_to}f}"
class IntToString:
@classmethod
def INPUT_TYPES(cls):
return {"required": {"value": ("INT", {"default": 0})}}
RETURN_TYPES = ("STRING",)
FUNCTION = "convert_type"
CATEGORY = "utils/type_convert"
def convert_type(self, value) -> str:
return (str(value),)
class FloatToString:
@classmethod
def INPUT_TYPES(cls):
return {"required": {
"value": ("FLOAT", {"default": 0.0, "round": False}),
"round_value": ("BOOLEAN", {"default": True}),
"round_to": ("INT", {"default": 2, "min": 0})
}}
RETURN_TYPES = ("STRING",)
FUNCTION = "convert_type"
CATEGORY = "utils/type_convert"
def convert_type(self, value, round_value, round_to) -> str:
if round_value:
out = f"{value:.{round_to}f}"
else: else:
out = str(value) string_out = str(value)
return (out,)
return (bool(value), float_to_int(value, mode), string_out,)
class StringToNum: class StringToNum:
@ -129,30 +104,6 @@ class BoolToAll:
def convert_type(self, value): def convert_type(self, value):
return (int(value), float(value), str(value),) return (int(value), float(value), str(value),)
class IntToBool:
@classmethod
def INPUT_TYPES(cls):
return {"required": {"value": ("INT", {"default": 0})}}
RETURN_TYPES = ("BOOLEAN",)
FUNCTION = "convert_type"
CATEGORY = "utils/type_convert"
def convert_type(self, value) -> bool:
return (bool(value),)
class FloatToBool:
@classmethod
def INPUT_TYPES(cls):
return {"required": {"value": ("FLOAT", {"default": 0})}}
RETURN_TYPES = ("BOOLEAN",)
FUNCTION = "convert_type"
CATEGORY = "utils/type_convert"
def convert_type(self, value) -> bool:
return (bool(value),)
class StringToBool: class StringToBool:
@classmethod @classmethod
def INPUT_TYPES(cls): def INPUT_TYPES(cls):
@ -193,12 +144,8 @@ class StringToCombo:
NODE_CLASS_MAPPINGS = { NODE_CLASS_MAPPINGS = {
"Boolean to All": BoolToAll, "Boolean to All": BoolToAll,
"Integer to Boolean": IntToBool, "Integer to All": IntToAll,
"Integer to Float": IntToFloat, "Float to All": FloatToAll,
"Integer to String": IntToString,
"Float to Boolean": FloatToBool,
"Float to Integer": FloatToInt,
"Float to String": FloatToString,
"String to Boolean": StringToBool, "String to Boolean": StringToBool,
"String to Number": StringToNum, "String to Number": StringToNum,
"String to Combo": StringToCombo "String to Combo": StringToCombo