| import type {LGraphNode} from "@comfyorg/frontend"; | |
| import { RgthreeBaseNode } from "./base_node"; | |
| /** Removes all inputs from the end. */ | |
| export function removeUnusedInputsFromEnd(node: LGraphNode, minNumber = 1, nameMatch?: RegExp) { | |
| // No need to remove inputs from nodes that have been removed. This can happen because we may | |
| // have debounced cleanup tasks. | |
| if ((node as RgthreeBaseNode).removed) return; | |
| for (let i = node.inputs.length - 1; i >= minNumber; i--) { | |
| if (!node.inputs[i]?.link) { | |
| if (!nameMatch || nameMatch.test(node.inputs[i]!.name)) { | |
| node.removeInput(i); | |
| } | |
| continue; | |
| } | |
| break; | |
| } | |
| } | |