| | |
| | class AnyType(str): |
| | def __ne__(self, __value: object) -> bool: |
| | return False |
| |
|
| |
|
| | |
| | any = AnyType("*") |
| |
|
| |
|
| | class Repeater: |
| | @classmethod |
| | def INPUT_TYPES(s): |
| | return {"required": { |
| | "source": (any, {}), |
| | "repeats": ("INT", {"min": 0, "max": 5000, "default": 2}), |
| | "output": (["single", "multi"], {}), |
| | "node_mode": (["reuse", "create"], {}), |
| | }} |
| |
|
| | RETURN_TYPES = (any,) |
| | FUNCTION = "repeat" |
| | OUTPUT_NODE = False |
| | OUTPUT_IS_LIST = (True,) |
| |
|
| | CATEGORY = "utils" |
| |
|
| | def repeat(self, repeats, output, node_mode, **kwargs): |
| | if output == "multi": |
| | |
| | return ([kwargs["source"]],) |
| | elif node_mode == "reuse": |
| | |
| | return ([kwargs["source"]] * repeats,) |
| | else: |
| | |
| | return ((list(kwargs.values())),) |
| |
|
| |
|
| | NODE_CLASS_MAPPINGS = { |
| | "Repeater|pysssss": Repeater, |
| | } |
| |
|
| | NODE_DISPLAY_NAME_MAPPINGS = { |
| | "Repeater|pysssss": "Repeater 🐍", |
| | } |
| |
|