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