Spaces:
Runtime error
Runtime error
| import { rgthree } from "./rgthree.js"; | |
| import { BaseAnyInputConnectedNode } from "./base_any_input_connected_node.js"; | |
| import { PassThroughFollowing, getConnectedInputNodes, getConnectedInputNodesAndFilterPassThroughs, shouldPassThrough, } from "./utils.js"; | |
| export class BaseCollectorNode extends BaseAnyInputConnectedNode { | |
| constructor(title) { | |
| super(title); | |
| this.inputsPassThroughFollowing = PassThroughFollowing.REROUTE_ONLY; | |
| this.logger = rgthree.newLogSession("[BaseCollectorNode]"); | |
| } | |
| clone() { | |
| const cloned = super.clone(); | |
| return cloned; | |
| } | |
| handleLinkedNodesStabilization(linkedNodes) { | |
| } | |
| onConnectInput(inputIndex, outputType, outputSlot, outputNode, outputIndex) { | |
| var _a, _b, _c, _d; | |
| let canConnect = super.onConnectInput(inputIndex, outputType, outputSlot, outputNode, outputIndex); | |
| if (canConnect) { | |
| const allConnectedNodes = getConnectedInputNodes(this); | |
| const nodesAlreadyInSlot = getConnectedInputNodes(this, undefined, inputIndex); | |
| if (allConnectedNodes.includes(outputNode)) { | |
| const [n, v] = this.logger.debugParts(`${outputNode.title} is already connected to ${this.title}.`); | |
| (_a = console[n]) === null || _a === void 0 ? void 0 : _a.call(console, ...v); | |
| if (nodesAlreadyInSlot.includes(outputNode)) { | |
| const [n, v] = this.logger.debugParts(`... but letting it slide since it's for the same slot.`); | |
| (_b = console[n]) === null || _b === void 0 ? void 0 : _b.call(console, ...v); | |
| } | |
| else { | |
| canConnect = false; | |
| } | |
| } | |
| if (canConnect && shouldPassThrough(outputNode, PassThroughFollowing.REROUTE_ONLY)) { | |
| const connectedNode = getConnectedInputNodesAndFilterPassThroughs(outputNode, undefined, undefined, PassThroughFollowing.REROUTE_ONLY)[0]; | |
| if (connectedNode && allConnectedNodes.includes(connectedNode)) { | |
| const [n, v] = this.logger.debugParts(`${connectedNode.title} is already connected to ${this.title}.`); | |
| (_c = console[n]) === null || _c === void 0 ? void 0 : _c.call(console, ...v); | |
| if (nodesAlreadyInSlot.includes(connectedNode)) { | |
| const [n, v] = this.logger.debugParts(`... but letting it slide since it's for the same slot.`); | |
| (_d = console[n]) === null || _d === void 0 ? void 0 : _d.call(console, ...v); | |
| } | |
| else { | |
| canConnect = false; | |
| } | |
| } | |
| } | |
| } | |
| return canConnect; | |
| } | |
| } | |