@effect/language-service 0.55.4 → 0.56.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js CHANGED
@@ -6344,6 +6344,19 @@ var removeEdgeInternal = (mutable, edgeIndex) => {
6344
6344
  mutable.edges.delete(edgeIndex);
6345
6345
  return true;
6346
6346
  };
6347
+ var hasEdge = (graph, source, target) => {
6348
+ const adjacencyList = graph.adjacency.get(source);
6349
+ if (adjacencyList === void 0) {
6350
+ return false;
6351
+ }
6352
+ for (const edgeIndex of adjacencyList) {
6353
+ const edge = graph.edges.get(edgeIndex);
6354
+ if (edge !== void 0 && edge.target === target) {
6355
+ return true;
6356
+ }
6357
+ }
6358
+ return false;
6359
+ };
6347
6360
  var neighborsDirected = (graph, nodeIndex, direction) => {
6348
6361
  const adjacencyMap = direction === "incoming" ? graph.reverseAdjacency : graph.adjacency;
6349
6362
  const adjacencyList = adjacencyMap.get(nodeIndex);
@@ -14672,7 +14685,9 @@ var extractOutlineGraph = fn("extractOutlineGraph")(function* (layerGraph) {
14672
14685
  for (const [providedType, providerNodeIndexes] of providers.entries()) {
14673
14686
  if (requiredType === providedType || typeChecker.isTypeAssignableTo(requiredType, providedType)) {
14674
14687
  for (const providerNodeIndex of providerNodeIndexes) {
14675
- addEdge(mutableGraph, nodeIndex, providerNodeIndex, {});
14688
+ if (!hasEdge(mutableGraph, nodeIndex, providerNodeIndex)) {
14689
+ addEdge(mutableGraph, nodeIndex, providerNodeIndex, {});
14690
+ }
14676
14691
  }
14677
14692
  }
14678
14693
  }