Files
Lex-DRL-ComfyUI-StringConst…/enums.py
T

39 lines
938 B
Python

# encoding: utf-8
"""
Internal enums.
"""
import typing as _t
try:
from enum import StrEnum as _StrEnum
except ImportError:
from comfy.comfy_types.node_typing import StrEnum as _StrEnum
T = _t.TypeVar('T')
class __BaseEnum(_StrEnum):
@classmethod
def all_values(cls) -> _t.Tuple[str, ...]:
return tuple(x.value for x in cls)
class DataTypes(__BaseEnum):
"""Additional data-types defined byt the node pack."""
DICT = 'DICT'
@staticmethod
def __custom_input_type_dict(_dict_args: _t.Tuple[_t.Dict[str, T], ...], kwargs: _t.Dict[str, T]) -> _t.Dict[str, T]:
res_dict: _t.Dict[str, _t.Any] = {"forceInput": True}
for d in _dict_args:
if d is not None:
res_dict.update(d)
res_dict.update(kwargs)
return res_dict
@classmethod
def input_dict(cls, *_dicts: _t.Dict[str, T], **kwargs: T) -> _t.Tuple[_t.Union['DataTypes', str], _t.Dict[str, T]]:
return cls.DICT, cls.__custom_input_type_dict(_dicts, kwargs)