canConnectThesePorts method

bool canConnectThesePorts(
  1. String? portId1,
  2. String? portId2
)

Implementation

bool canConnectThesePorts(String? portId1, String? portId2) {
  if (portId1 == null || portId2 == null) {
    return false;
  }
  if (portId1 == portId2) {
    return false;
  }
  var port1 = canvasReader.model.getComponent(portId1);
  var port2 = canvasReader.model.getComponent(portId2);
  if (port1.type != 'port' || port2.type != 'port') {
    return false;
  }
  if (port1.data.type != port2.data.type) {
    return false;
  }
  if (port1.data.isInput && port2.data.isInput) {
    return false;
  }
  if (!port1.data.isInput && !port2.data.isInput) {
    return false;
  }
  if (port1.connections.isNotEmpty || port2.connections.isNotEmpty) {
    return false;
  }
  if (port1.parentId == port2.parentId) {
    return false;
  }
  return true;
}