effect 3.21.3 → 3.21.4

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/dist/cjs/Graph.js CHANGED
@@ -1482,6 +1482,40 @@ const isAcyclic = graph => {
1482
1482
  if (Option.isSome(graph.isAcyclic)) {
1483
1483
  return graph.isAcyclic.value;
1484
1484
  }
1485
+ if (graph.type === "undirected") {
1486
+ const visited = new Set();
1487
+ for (const startNode of graph.nodes.keys()) {
1488
+ if (visited.has(startNode)) {
1489
+ continue;
1490
+ }
1491
+ visited.add(startNode);
1492
+ const stack = [{
1493
+ node: startNode,
1494
+ parent: null
1495
+ }];
1496
+ while (stack.length > 0) {
1497
+ const {
1498
+ node,
1499
+ parent
1500
+ } = stack.pop();
1501
+ const nodeNeighbors = getUndirectedNeighbors(graph, node);
1502
+ for (const neighbor of nodeNeighbors) {
1503
+ if (!visited.has(neighbor)) {
1504
+ visited.add(neighbor);
1505
+ stack.push({
1506
+ node: neighbor,
1507
+ parent: node
1508
+ });
1509
+ } else if (neighbor !== parent) {
1510
+ graph.isAcyclic = Option.some(false);
1511
+ return false;
1512
+ }
1513
+ }
1514
+ }
1515
+ }
1516
+ graph.isAcyclic = Option.some(true);
1517
+ return true;
1518
+ }
1485
1519
  // Stack-safe DFS cycle detection using iterative approach
1486
1520
  const visited = new Set();
1487
1521
  const recursionStack = new Set();
@@ -1635,6 +1669,8 @@ const getUndirectedNeighbors = (graph, nodeIndex) => {
1635
1669
  }
1636
1670
  return Array.from(neighbors);
1637
1671
  };
1672
+ const getTraversalNeighbors = (graph, nodeIndex, direction) => graph.type === "undirected" ? getUndirectedNeighbors(graph, nodeIndex) : neighborsDirected(graph, nodeIndex, direction);
1673
+ const getTraversableNeighbor = (graph, current, edge) => graph.type === "undirected" && edge.target === current ? edge.source : edge.target;
1638
1674
  /**
1639
1675
  * Find connected components in an undirected graph.
1640
1676
  * Each component is represented as an array of node indices.
@@ -1873,7 +1909,7 @@ const dijkstra = (graph, config) => {
1873
1909
  for (const edgeIndex of adjacencyList) {
1874
1910
  const edge = graph.edges.get(edgeIndex);
1875
1911
  if (edge !== undefined) {
1876
- const neighbor = edge.target;
1912
+ const neighbor = getTraversableNeighbor(graph, currentNode, edge);
1877
1913
  const weight = cost(edge.data);
1878
1914
  // Validate non-negative weights
1879
1915
  if (weight < 0) {
@@ -1983,6 +2019,14 @@ const floydWarshall = (graph, cost) => {
1983
2019
  next.get(i).set(j, j);
1984
2020
  edgeMatrix.get(i).set(j, edgeData.data);
1985
2021
  }
2022
+ if (graph.type === "undirected") {
2023
+ const reverseWeight = dist.get(j).get(i);
2024
+ if (weight < reverseWeight) {
2025
+ dist.get(j).set(i, weight);
2026
+ next.get(j).set(i, i);
2027
+ edgeMatrix.get(j).set(i, edgeData.data);
2028
+ }
2029
+ }
1986
2030
  }
1987
2031
  // Floyd-Warshall main loop
1988
2032
  for (const k of allNodes) {
@@ -2155,7 +2199,7 @@ const astar = (graph, config) => {
2155
2199
  for (const edgeIndex of adjacencyList) {
2156
2200
  const edge = graph.edges.get(edgeIndex);
2157
2201
  if (edge !== undefined) {
2158
- const neighbor = edge.target;
2202
+ const neighbor = getTraversableNeighbor(graph, currentNode, edge);
2159
2203
  const weight = cost(edge.data);
2160
2204
  // Validate non-negative weights
2161
2205
  if (weight < 0) {
@@ -2285,6 +2329,14 @@ const bellmanFord = (graph, config) => {
2285
2329
  weight,
2286
2330
  edgeData: edgeData.data
2287
2331
  });
2332
+ if (graph.type === "undirected" && edgeData.source !== edgeData.target) {
2333
+ edges.push({
2334
+ source: edgeData.target,
2335
+ target: edgeData.source,
2336
+ weight,
2337
+ edgeData: edgeData.data
2338
+ });
2339
+ }
2288
2340
  }
2289
2341
  // Relax edges up to V-1 times
2290
2342
  const nodeCount = graph.nodes.size;
@@ -2321,14 +2373,8 @@ const bellmanFord = (graph, config) => {
2321
2373
  if (affectedNodes.has(node)) continue;
2322
2374
  affectedNodes.add(node);
2323
2375
  // Add all nodes reachable from this node
2324
- const adjacencyList = graph.adjacency.get(node);
2325
- if (adjacencyList !== undefined) {
2326
- for (const edgeIndex of adjacencyList) {
2327
- const edge = graph.edges.get(edgeIndex);
2328
- if (edge !== undefined) {
2329
- queue.push(edge.target);
2330
- }
2331
- }
2376
+ for (const neighbor of getTraversalNeighbors(graph, node, "outgoing")) {
2377
+ queue.push(neighbor);
2332
2378
  }
2333
2379
  }
2334
2380
  // If target is affected by negative cycle, return null
@@ -2598,7 +2644,7 @@ const dfs = (graph, config = {}) => {
2598
2644
  if (nodeDataOption === undefined) {
2599
2645
  continue;
2600
2646
  }
2601
- const neighbors = neighborsDirected(graph, current, direction);
2647
+ const neighbors = getTraversalNeighbors(graph, current, direction);
2602
2648
  for (let i = neighbors.length - 1; i >= 0; i--) {
2603
2649
  const neighbor = neighbors[i];
2604
2650
  if (!discovered.has(neighbor)) {
@@ -2672,7 +2718,7 @@ const bfs = (graph, config = {}) => {
2672
2718
  const current = queue.shift();
2673
2719
  if (!discovered.has(current)) {
2674
2720
  discovered.add(current);
2675
- const neighbors = neighborsDirected(graph, current, direction);
2721
+ const neighbors = getTraversalNeighbors(graph, current, direction);
2676
2722
  for (const neighbor of neighbors) {
2677
2723
  if (!discovered.has(neighbor)) {
2678
2724
  queue.push(neighbor);
@@ -2746,6 +2792,9 @@ const bfs = (graph, config = {}) => {
2746
2792
  */
2747
2793
  exports.bfs = bfs;
2748
2794
  const topo = (graph, config = {}) => {
2795
+ if (graph.type === "undirected") {
2796
+ throw new Error("Cannot perform topological sort on undirected graph");
2797
+ }
2749
2798
  // Check if graph is acyclic first
2750
2799
  if (!isAcyclic(graph)) {
2751
2800
  throw new Error("Cannot perform topological sort on cyclic graph");
@@ -2879,7 +2928,7 @@ const dfsPostOrder = (graph, config = {}) => {
2879
2928
  }
2880
2929
  if (!current.visitedChildren) {
2881
2930
  current.visitedChildren = true;
2882
- const neighbors = neighborsDirected(graph, current.node, direction);
2931
+ const neighbors = getTraversalNeighbors(graph, current.node, direction);
2883
2932
  for (let i = neighbors.length - 1; i >= 0; i--) {
2884
2933
  const neighbor = neighbors[i];
2885
2934
  if (!discovered.has(neighbor) && !finished.has(neighbor)) {
@@ -1 +1 @@
1
- {"version":3,"file":"Graph.js","names":["Data","_interopRequireWildcard","require","Equal","_Function","Hash","_Inspectable","Option","_Pipeable","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TypeId","exports","Edge","Class","ProtoGraph","Symbol","iterator","nodes","NodeInspectSymbol","toJSON","symbol","that","isGraph","size","edges","type","nodeIndex","nodeData","otherNodeData","equals","edgeIndex","edgeData","otherEdge","hash","string","number","_id","nodeCount","edgeCount","toString","format","pipe","pipeArguments","arguments","GraphError","TaggedError","missingNode","node","message","u","directed","mutate","graph","create","Map","adjacency","reverseAdjacency","nextNodeIndex","nextEdgeIndex","isAcyclic","some","mutable","beginMutation","endMutation","undirected","dual","addNode","data","getNode","none","hasNode","findNode","predicate","index","findNodes","results","push","findEdge","source","target","findEdges","updateNode","currentData","newData","updateEdge","currentEdge","mapNodes","mapEdges","reverse","clear","sourceEdges","targetEdges","filterMapNodes","nodesToRemove","result","isSome","value","removeNode","filterMapEdges","edgesToRemove","removeEdge","filterNodes","filterEdges","invalidateCycleFlagOnRemoval","invalidateCycleFlagOnAddition","addEdge","sourceAdjacency","undefined","targetReverseAdjacency","targetAdjacency","sourceReverseAdjacency","outgoingEdges","edge","incomingEdges","removeEdgeInternal","delete","wasRemoved","indexOf","splice","getEdge","hasEdge","adjacencyList","neighbors","getUndirectedNeighbors","neighborsDirected","direction","adjacencyMap","neighborNode","toGraphViz","options","edgeLabel","String","graphName","nodeLabel","isDirected","graphType","edgeOperator","lines","label","replace","join","escapeMermaidLabel","formatMermaidNode","nodeId","shape","toMermaid","diagramType","nodeShape","finalDiagramType","formattedNode","sourceId","targetId","visited","Set","recursionStack","startNode","keys","stack","length","neighborIndex","isFirstVisit","pop","add","nodeNeighbors","Array","from","neighbor","isBipartite","coloring","discovered","isBipartiteGraph","queue","current","shift","currentColor","neighborColor","otherNode","connectedComponents","components","component","stronglyConnectedComponents","finishOrder","nodeNeighborsList","sccs","scc","predecessor","dijkstra","config","cost","path","distance","costs","distances","previous","Infinity","priorityQueue","minIndex","currentNode","currentDistance","weight","Error","newDistance","neighborDistance","targetDistance","unshift","prev","floydWarshall","allNodes","dist","next","edgeMatrix","j","currentWeight","k","distIK","distKJ","distIJ","paths","resultCosts","weights","nextNode","astar","heuristic","targetNodeData","gScore","fScore","sourceNodeData","h","openSet","currentGScore","tentativeGScore","neighborGScore","neighborNodeData","targetGScore","bellmanFord","hasUpdate","sourceDistance","affectedNodes","Walker","visit","constructor","indices","walker","_","values","entries","dfs","start","nextMapped","nodeDataOption","done","bfs","topo","initials","inDegree","remaining","currentInDegree","degree","newInDegree","dfsPostOrder","finished","visitedChildren","nodeToEmit","nodeMap","edgeMap","externals","nodeIterator"],"sources":["../../src/Graph.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Graph.js","names":["Data","_interopRequireWildcard","require","Equal","_Function","Hash","_Inspectable","Option","_Pipeable","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TypeId","exports","Edge","Class","ProtoGraph","Symbol","iterator","nodes","NodeInspectSymbol","toJSON","symbol","that","isGraph","size","edges","type","nodeIndex","nodeData","otherNodeData","equals","edgeIndex","edgeData","otherEdge","hash","string","number","_id","nodeCount","edgeCount","toString","format","pipe","pipeArguments","arguments","GraphError","TaggedError","missingNode","node","message","u","directed","mutate","graph","create","Map","adjacency","reverseAdjacency","nextNodeIndex","nextEdgeIndex","isAcyclic","some","mutable","beginMutation","endMutation","undirected","dual","addNode","data","getNode","none","hasNode","findNode","predicate","index","findNodes","results","push","findEdge","source","target","findEdges","updateNode","currentData","newData","updateEdge","currentEdge","mapNodes","mapEdges","reverse","clear","sourceEdges","targetEdges","filterMapNodes","nodesToRemove","result","isSome","value","removeNode","filterMapEdges","edgesToRemove","removeEdge","filterNodes","filterEdges","invalidateCycleFlagOnRemoval","invalidateCycleFlagOnAddition","addEdge","sourceAdjacency","undefined","targetReverseAdjacency","targetAdjacency","sourceReverseAdjacency","outgoingEdges","edge","incomingEdges","removeEdgeInternal","delete","wasRemoved","indexOf","splice","getEdge","hasEdge","adjacencyList","neighbors","getUndirectedNeighbors","neighborsDirected","direction","adjacencyMap","neighborNode","toGraphViz","options","edgeLabel","String","graphName","nodeLabel","isDirected","graphType","edgeOperator","lines","label","replace","join","escapeMermaidLabel","formatMermaidNode","nodeId","shape","toMermaid","diagramType","nodeShape","finalDiagramType","formattedNode","sourceId","targetId","visited","Set","startNode","keys","add","stack","parent","length","pop","nodeNeighbors","neighbor","recursionStack","neighborIndex","isFirstVisit","Array","from","isBipartite","coloring","discovered","isBipartiteGraph","queue","current","shift","currentColor","neighborColor","otherNode","getTraversalNeighbors","getTraversableNeighbor","connectedComponents","components","component","stronglyConnectedComponents","finishOrder","nodeNeighborsList","sccs","scc","predecessor","dijkstra","config","cost","path","distance","costs","distances","previous","Infinity","priorityQueue","minIndex","currentNode","currentDistance","weight","Error","newDistance","neighborDistance","targetDistance","unshift","prev","floydWarshall","allNodes","dist","next","edgeMatrix","j","currentWeight","reverseWeight","k","distIK","distKJ","distIJ","paths","resultCosts","weights","nextNode","astar","heuristic","targetNodeData","gScore","fScore","sourceNodeData","h","openSet","currentGScore","tentativeGScore","neighborGScore","neighborNodeData","targetGScore","bellmanFord","hasUpdate","sourceDistance","affectedNodes","Walker","visit","constructor","indices","walker","_","values","entries","dfs","start","nextMapped","nodeDataOption","done","bfs","topo","initials","inDegree","remaining","currentInDegree","degree","newInDegree","dfsPostOrder","finished","visitedChildren","nodeToEmit","nodeMap","edgeMap","externals","nodeIterator"],"sources":["../../src/Graph.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.setCurrentVersion = exports.getCurrentVersion = void 0;
7
- let moduleVersion = "3.21.3";
7
+ let moduleVersion = "3.21.4";
8
8
  const getCurrentVersion = () => moduleVersion;
9
9
  exports.getCurrentVersion = getCurrentVersion;
10
10
  const setCurrentVersion = version => {
@@ -1 +1 @@
1
- {"version":3,"file":"Graph.d.ts","sourceRoot":"","sources":["../../src/Graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Graph.d.ts","sourceRoot":"","sources":["../../src/Graph.ts"],"names":[],"mappings":"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"}
package/dist/esm/Graph.js CHANGED
@@ -1440,6 +1440,40 @@ export const isAcyclic = graph => {
1440
1440
  if (Option.isSome(graph.isAcyclic)) {
1441
1441
  return graph.isAcyclic.value;
1442
1442
  }
1443
+ if (graph.type === "undirected") {
1444
+ const visited = new Set();
1445
+ for (const startNode of graph.nodes.keys()) {
1446
+ if (visited.has(startNode)) {
1447
+ continue;
1448
+ }
1449
+ visited.add(startNode);
1450
+ const stack = [{
1451
+ node: startNode,
1452
+ parent: null
1453
+ }];
1454
+ while (stack.length > 0) {
1455
+ const {
1456
+ node,
1457
+ parent
1458
+ } = stack.pop();
1459
+ const nodeNeighbors = getUndirectedNeighbors(graph, node);
1460
+ for (const neighbor of nodeNeighbors) {
1461
+ if (!visited.has(neighbor)) {
1462
+ visited.add(neighbor);
1463
+ stack.push({
1464
+ node: neighbor,
1465
+ parent: node
1466
+ });
1467
+ } else if (neighbor !== parent) {
1468
+ graph.isAcyclic = Option.some(false);
1469
+ return false;
1470
+ }
1471
+ }
1472
+ }
1473
+ }
1474
+ graph.isAcyclic = Option.some(true);
1475
+ return true;
1476
+ }
1443
1477
  // Stack-safe DFS cycle detection using iterative approach
1444
1478
  const visited = new Set();
1445
1479
  const recursionStack = new Set();
@@ -1591,6 +1625,8 @@ const getUndirectedNeighbors = (graph, nodeIndex) => {
1591
1625
  }
1592
1626
  return Array.from(neighbors);
1593
1627
  };
1628
+ const getTraversalNeighbors = (graph, nodeIndex, direction) => graph.type === "undirected" ? getUndirectedNeighbors(graph, nodeIndex) : neighborsDirected(graph, nodeIndex, direction);
1629
+ const getTraversableNeighbor = (graph, current, edge) => graph.type === "undirected" && edge.target === current ? edge.source : edge.target;
1594
1630
  /**
1595
1631
  * Find connected components in an undirected graph.
1596
1632
  * Each component is represented as an array of node indices.
@@ -1827,7 +1863,7 @@ export const dijkstra = (graph, config) => {
1827
1863
  for (const edgeIndex of adjacencyList) {
1828
1864
  const edge = graph.edges.get(edgeIndex);
1829
1865
  if (edge !== undefined) {
1830
- const neighbor = edge.target;
1866
+ const neighbor = getTraversableNeighbor(graph, currentNode, edge);
1831
1867
  const weight = cost(edge.data);
1832
1868
  // Validate non-negative weights
1833
1869
  if (weight < 0) {
@@ -1936,6 +1972,14 @@ export const floydWarshall = (graph, cost) => {
1936
1972
  next.get(i).set(j, j);
1937
1973
  edgeMatrix.get(i).set(j, edgeData.data);
1938
1974
  }
1975
+ if (graph.type === "undirected") {
1976
+ const reverseWeight = dist.get(j).get(i);
1977
+ if (weight < reverseWeight) {
1978
+ dist.get(j).set(i, weight);
1979
+ next.get(j).set(i, i);
1980
+ edgeMatrix.get(j).set(i, edgeData.data);
1981
+ }
1982
+ }
1939
1983
  }
1940
1984
  // Floyd-Warshall main loop
1941
1985
  for (const k of allNodes) {
@@ -2107,7 +2151,7 @@ export const astar = (graph, config) => {
2107
2151
  for (const edgeIndex of adjacencyList) {
2108
2152
  const edge = graph.edges.get(edgeIndex);
2109
2153
  if (edge !== undefined) {
2110
- const neighbor = edge.target;
2154
+ const neighbor = getTraversableNeighbor(graph, currentNode, edge);
2111
2155
  const weight = cost(edge.data);
2112
2156
  // Validate non-negative weights
2113
2157
  if (weight < 0) {
@@ -2236,6 +2280,14 @@ export const bellmanFord = (graph, config) => {
2236
2280
  weight,
2237
2281
  edgeData: edgeData.data
2238
2282
  });
2283
+ if (graph.type === "undirected" && edgeData.source !== edgeData.target) {
2284
+ edges.push({
2285
+ source: edgeData.target,
2286
+ target: edgeData.source,
2287
+ weight,
2288
+ edgeData: edgeData.data
2289
+ });
2290
+ }
2239
2291
  }
2240
2292
  // Relax edges up to V-1 times
2241
2293
  const nodeCount = graph.nodes.size;
@@ -2272,14 +2324,8 @@ export const bellmanFord = (graph, config) => {
2272
2324
  if (affectedNodes.has(node)) continue;
2273
2325
  affectedNodes.add(node);
2274
2326
  // Add all nodes reachable from this node
2275
- const adjacencyList = graph.adjacency.get(node);
2276
- if (adjacencyList !== undefined) {
2277
- for (const edgeIndex of adjacencyList) {
2278
- const edge = graph.edges.get(edgeIndex);
2279
- if (edge !== undefined) {
2280
- queue.push(edge.target);
2281
- }
2282
- }
2327
+ for (const neighbor of getTraversalNeighbors(graph, node, "outgoing")) {
2328
+ queue.push(neighbor);
2283
2329
  }
2284
2330
  }
2285
2331
  // If target is affected by negative cycle, return null
@@ -2544,7 +2590,7 @@ export const dfs = (graph, config = {}) => {
2544
2590
  if (nodeDataOption === undefined) {
2545
2591
  continue;
2546
2592
  }
2547
- const neighbors = neighborsDirected(graph, current, direction);
2593
+ const neighbors = getTraversalNeighbors(graph, current, direction);
2548
2594
  for (let i = neighbors.length - 1; i >= 0; i--) {
2549
2595
  const neighbor = neighbors[i];
2550
2596
  if (!discovered.has(neighbor)) {
@@ -2617,7 +2663,7 @@ export const bfs = (graph, config = {}) => {
2617
2663
  const current = queue.shift();
2618
2664
  if (!discovered.has(current)) {
2619
2665
  discovered.add(current);
2620
- const neighbors = neighborsDirected(graph, current, direction);
2666
+ const neighbors = getTraversalNeighbors(graph, current, direction);
2621
2667
  for (const neighbor of neighbors) {
2622
2668
  if (!discovered.has(neighbor)) {
2623
2669
  queue.push(neighbor);
@@ -2690,6 +2736,9 @@ export const bfs = (graph, config = {}) => {
2690
2736
  * @category iterators
2691
2737
  */
2692
2738
  export const topo = (graph, config = {}) => {
2739
+ if (graph.type === "undirected") {
2740
+ throw new Error("Cannot perform topological sort on undirected graph");
2741
+ }
2693
2742
  // Check if graph is acyclic first
2694
2743
  if (!isAcyclic(graph)) {
2695
2744
  throw new Error("Cannot perform topological sort on cyclic graph");
@@ -2822,7 +2871,7 @@ export const dfsPostOrder = (graph, config = {}) => {
2822
2871
  }
2823
2872
  if (!current.visitedChildren) {
2824
2873
  current.visitedChildren = true;
2825
- const neighbors = neighborsDirected(graph, current.node, direction);
2874
+ const neighbors = getTraversalNeighbors(graph, current.node, direction);
2826
2875
  for (let i = neighbors.length - 1; i >= 0; i--) {
2827
2876
  const neighbor = neighbors[i];
2828
2877
  if (!discovered.has(neighbor) && !finished.has(neighbor)) {
@@ -1 +1 @@
1
- {"version":3,"file":"Graph.js","names":["Data","Equal","dual","Hash","format","NodeInspectSymbol","Option","pipeArguments","TypeId","Edge","Class","ProtoGraph","Symbol","iterator","nodes","toJSON","symbol","that","isGraph","size","edges","type","nodeIndex","nodeData","has","otherNodeData","get","equals","edgeIndex","edgeData","otherEdge","hash","string","number","_id","nodeCount","edgeCount","toString","pipe","arguments","GraphError","TaggedError","missingNode","node","message","u","directed","mutate","graph","Object","create","Map","adjacency","reverseAdjacency","nextNodeIndex","nextEdgeIndex","isAcyclic","some","mutable","beginMutation","endMutation","undirected","set","f","addNode","data","getNode","none","hasNode","findNode","predicate","index","findNodes","results","push","findEdge","source","target","findEdges","updateNode","currentData","newData","updateEdge","currentEdge","mapNodes","mapEdges","reverse","clear","sourceEdges","targetEdges","filterMapNodes","nodesToRemove","result","isSome","value","removeNode","filterMapEdges","edgesToRemove","removeEdge","filterNodes","filterEdges","invalidateCycleFlagOnRemoval","invalidateCycleFlagOnAddition","addEdge","sourceAdjacency","undefined","targetReverseAdjacency","targetAdjacency","sourceReverseAdjacency","outgoingEdges","edge","incomingEdges","removeEdgeInternal","delete","wasRemoved","indexOf","splice","getEdge","hasEdge","adjacencyList","neighbors","getUndirectedNeighbors","neighborsDirected","direction","adjacencyMap","neighborNode","toGraphViz","options","edgeLabel","String","graphName","nodeLabel","isDirected","graphType","edgeOperator","lines","label","replace","join","escapeMermaidLabel","formatMermaidNode","nodeId","shape","toMermaid","diagramType","nodeShape","finalDiagramType","formattedNode","sourceId","targetId","visited","Set","recursionStack","startNode","keys","stack","length","neighborIndex","isFirstVisit","pop","add","nodeNeighbors","Array","from","neighbor","isBipartite","coloring","discovered","isBipartiteGraph","queue","current","shift","currentColor","neighborColor","otherNode","connectedComponents","components","component","stronglyConnectedComponents","finishOrder","nodeNeighborsList","sccs","i","scc","predecessor","dijkstra","config","cost","path","distance","costs","distances","previous","Infinity","priorityQueue","minIndex","currentNode","currentDistance","weight","Error","newDistance","neighborDistance","targetDistance","unshift","prev","floydWarshall","allNodes","dist","next","edgeMatrix","j","currentWeight","k","distIK","distKJ","distIJ","paths","resultCosts","weights","nextNode","astar","heuristic","targetNodeData","gScore","fScore","sourceNodeData","h","openSet","currentGScore","tentativeGScore","neighborGScore","neighborNodeData","targetGScore","bellmanFord","hasUpdate","sourceDistance","affectedNodes","Walker","visit","constructor","indices","walker","_","values","entries","dfs","start","nextMapped","nodeDataOption","done","bfs","topo","initials","inDegree","remaining","currentInDegree","degree","newInDegree","dfsPostOrder","finished","visitedChildren","nodeToEmit","nodeMap","edgeMap","externals","nodeIterator"],"sources":["../../src/Graph.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Graph.js","names":["Data","Equal","dual","Hash","format","NodeInspectSymbol","Option","pipeArguments","TypeId","Edge","Class","ProtoGraph","Symbol","iterator","nodes","toJSON","symbol","that","isGraph","size","edges","type","nodeIndex","nodeData","has","otherNodeData","get","equals","edgeIndex","edgeData","otherEdge","hash","string","number","_id","nodeCount","edgeCount","toString","pipe","arguments","GraphError","TaggedError","missingNode","node","message","u","directed","mutate","graph","Object","create","Map","adjacency","reverseAdjacency","nextNodeIndex","nextEdgeIndex","isAcyclic","some","mutable","beginMutation","endMutation","undirected","set","f","addNode","data","getNode","none","hasNode","findNode","predicate","index","findNodes","results","push","findEdge","source","target","findEdges","updateNode","currentData","newData","updateEdge","currentEdge","mapNodes","mapEdges","reverse","clear","sourceEdges","targetEdges","filterMapNodes","nodesToRemove","result","isSome","value","removeNode","filterMapEdges","edgesToRemove","removeEdge","filterNodes","filterEdges","invalidateCycleFlagOnRemoval","invalidateCycleFlagOnAddition","addEdge","sourceAdjacency","undefined","targetReverseAdjacency","targetAdjacency","sourceReverseAdjacency","outgoingEdges","edge","incomingEdges","removeEdgeInternal","delete","wasRemoved","indexOf","splice","getEdge","hasEdge","adjacencyList","neighbors","getUndirectedNeighbors","neighborsDirected","direction","adjacencyMap","neighborNode","toGraphViz","options","edgeLabel","String","graphName","nodeLabel","isDirected","graphType","edgeOperator","lines","label","replace","join","escapeMermaidLabel","formatMermaidNode","nodeId","shape","toMermaid","diagramType","nodeShape","finalDiagramType","formattedNode","sourceId","targetId","visited","Set","startNode","keys","add","stack","parent","length","pop","nodeNeighbors","neighbor","recursionStack","neighborIndex","isFirstVisit","Array","from","isBipartite","coloring","discovered","isBipartiteGraph","queue","current","shift","currentColor","neighborColor","otherNode","getTraversalNeighbors","getTraversableNeighbor","connectedComponents","components","component","stronglyConnectedComponents","finishOrder","nodeNeighborsList","sccs","i","scc","predecessor","dijkstra","config","cost","path","distance","costs","distances","previous","Infinity","priorityQueue","minIndex","currentNode","currentDistance","weight","Error","newDistance","neighborDistance","targetDistance","unshift","prev","floydWarshall","allNodes","dist","next","edgeMatrix","j","currentWeight","reverseWeight","k","distIK","distKJ","distIJ","paths","resultCosts","weights","nextNode","astar","heuristic","targetNodeData","gScore","fScore","sourceNodeData","h","openSet","currentGScore","tentativeGScore","neighborGScore","neighborNodeData","targetGScore","bellmanFord","hasUpdate","sourceDistance","affectedNodes","Walker","visit","constructor","indices","walker","_","values","entries","dfs","start","nextMapped","nodeDataOption","done","bfs","topo","initials","inDegree","remaining","currentInDegree","degree","newInDegree","dfsPostOrder","finished","visitedChildren","nodeToEmit","nodeMap","edgeMap","externals","nodeIterator"],"sources":["../../src/Graph.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- let moduleVersion = "3.21.3";
1
+ let moduleVersion = "3.21.4";
2
2
  export const getCurrentVersion = () => moduleVersion;
3
3
  export const setCurrentVersion = version => {
4
4
  moduleVersion = version;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "effect",
3
- "version": "3.21.3",
3
+ "version": "3.21.4",
4
4
  "description": "The missing standard library for TypeScript, for writing production-grade software.",
5
5
  "license": "MIT",
6
6
  "repository": {
package/src/Graph.ts CHANGED
@@ -1923,6 +1923,37 @@ export const isAcyclic = <N, E, T extends Kind = "directed">(
1923
1923
  return graph.isAcyclic.value
1924
1924
  }
1925
1925
 
1926
+ if (graph.type === "undirected") {
1927
+ const visited = new Set<NodeIndex>()
1928
+
1929
+ for (const startNode of graph.nodes.keys()) {
1930
+ if (visited.has(startNode)) {
1931
+ continue
1932
+ }
1933
+
1934
+ visited.add(startNode)
1935
+ const stack: Array<{ node: NodeIndex; parent: NodeIndex | null }> = [{ node: startNode, parent: null }]
1936
+
1937
+ while (stack.length > 0) {
1938
+ const { node, parent } = stack.pop()!
1939
+ const nodeNeighbors = getUndirectedNeighbors(graph as any, node)
1940
+
1941
+ for (const neighbor of nodeNeighbors) {
1942
+ if (!visited.has(neighbor)) {
1943
+ visited.add(neighbor)
1944
+ stack.push({ node: neighbor, parent: node })
1945
+ } else if (neighbor !== parent) {
1946
+ graph.isAcyclic = Option.some(false)
1947
+ return false
1948
+ }
1949
+ }
1950
+ }
1951
+ }
1952
+
1953
+ graph.isAcyclic = Option.some(true)
1954
+ return true
1955
+ }
1956
+
1926
1957
  // Stack-safe DFS cycle detection using iterative approach
1927
1958
  const visited = new Set<NodeIndex>()
1928
1959
  const recursionStack = new Set<NodeIndex>()
@@ -2103,6 +2134,21 @@ const getUndirectedNeighbors = <N, E>(
2103
2134
  return Array.from(neighbors)
2104
2135
  }
2105
2136
 
2137
+ const getTraversalNeighbors = <N, E, T extends Kind>(
2138
+ graph: Graph<N, E, T> | MutableGraph<N, E, T>,
2139
+ nodeIndex: NodeIndex,
2140
+ direction: Direction
2141
+ ): Array<NodeIndex> =>
2142
+ graph.type === "undirected"
2143
+ ? getUndirectedNeighbors(graph as any, nodeIndex)
2144
+ : neighborsDirected(graph, nodeIndex, direction)
2145
+
2146
+ const getTraversableNeighbor = <N, E, T extends Kind>(
2147
+ graph: Graph<N, E, T> | MutableGraph<N, E, T>,
2148
+ current: NodeIndex,
2149
+ edge: Edge<E>
2150
+ ): NodeIndex => graph.type === "undirected" && edge.target === current ? edge.source : edge.target
2151
+
2106
2152
  /**
2107
2153
  * Find connected components in an undirected graph.
2108
2154
  * Each component is represented as an array of node indices.
@@ -2432,7 +2478,7 @@ export const dijkstra = <N, E, T extends Kind = "directed">(
2432
2478
  for (const edgeIndex of adjacencyList) {
2433
2479
  const edge = graph.edges.get(edgeIndex)
2434
2480
  if (edge !== undefined) {
2435
- const neighbor = edge.target
2481
+ const neighbor = getTraversableNeighbor(graph, currentNode, edge)
2436
2482
  const weight = cost(edge.data)
2437
2483
 
2438
2484
  // Validate non-negative weights
@@ -2564,6 +2610,15 @@ export const floydWarshall = <N, E, T extends Kind = "directed">(
2564
2610
  next.get(i)!.set(j, j)
2565
2611
  edgeMatrix.get(i)!.set(j, edgeData.data)
2566
2612
  }
2613
+
2614
+ if (graph.type === "undirected") {
2615
+ const reverseWeight = dist.get(j)!.get(i)!
2616
+ if (weight < reverseWeight) {
2617
+ dist.get(j)!.set(i, weight)
2618
+ next.get(j)!.set(i, i)
2619
+ edgeMatrix.get(j)!.set(i, edgeData.data)
2620
+ }
2621
+ }
2567
2622
  }
2568
2623
 
2569
2624
  // Floyd-Warshall main loop
@@ -2757,7 +2812,7 @@ export const astar = <N, E, T extends Kind = "directed">(
2757
2812
  for (const edgeIndex of adjacencyList) {
2758
2813
  const edge = graph.edges.get(edgeIndex)
2759
2814
  if (edge !== undefined) {
2760
- const neighbor = edge.target
2815
+ const neighbor = getTraversableNeighbor(graph, currentNode, edge)
2761
2816
  const weight = cost(edge.data)
2762
2817
 
2763
2818
  // Validate non-negative weights
@@ -2893,6 +2948,14 @@ export const bellmanFord = <N, E, T extends Kind = "directed">(
2893
2948
  weight,
2894
2949
  edgeData: edgeData.data
2895
2950
  })
2951
+ if (graph.type === "undirected" && edgeData.source !== edgeData.target) {
2952
+ edges.push({
2953
+ source: edgeData.target,
2954
+ target: edgeData.source,
2955
+ weight,
2956
+ edgeData: edgeData.data
2957
+ })
2958
+ }
2896
2959
  }
2897
2960
 
2898
2961
  // Relax edges up to V-1 times
@@ -2934,14 +2997,8 @@ export const bellmanFord = <N, E, T extends Kind = "directed">(
2934
2997
  affectedNodes.add(node)
2935
2998
 
2936
2999
  // Add all nodes reachable from this node
2937
- const adjacencyList = graph.adjacency.get(node)
2938
- if (adjacencyList !== undefined) {
2939
- for (const edgeIndex of adjacencyList) {
2940
- const edge = graph.edges.get(edgeIndex)
2941
- if (edge !== undefined) {
2942
- queue.push(edge.target)
2943
- }
2944
- }
3000
+ for (const neighbor of getTraversalNeighbors(graph, node, "outgoing")) {
3001
+ queue.push(neighbor)
2945
3002
  }
2946
3003
  }
2947
3004
 
@@ -3259,7 +3316,7 @@ export const dfs = <N, E, T extends Kind = "directed">(
3259
3316
  continue
3260
3317
  }
3261
3318
 
3262
- const neighbors = neighborsDirected(graph, current, direction)
3319
+ const neighbors = getTraversalNeighbors(graph, current, direction)
3263
3320
  for (let i = neighbors.length - 1; i >= 0; i--) {
3264
3321
  const neighbor = neighbors[i]
3265
3322
  if (!discovered.has(neighbor)) {
@@ -3336,7 +3393,7 @@ export const bfs = <N, E, T extends Kind = "directed">(
3336
3393
  if (!discovered.has(current)) {
3337
3394
  discovered.add(current)
3338
3395
 
3339
- const neighbors = neighborsDirected(graph, current, direction)
3396
+ const neighbors = getTraversalNeighbors(graph, current, direction)
3340
3397
  for (const neighbor of neighbors) {
3341
3398
  if (!discovered.has(neighbor)) {
3342
3399
  queue.push(neighbor)
@@ -3418,6 +3475,10 @@ export const topo = <N, E, T extends Kind = "directed">(
3418
3475
  graph: Graph<N, E, T> | MutableGraph<N, E, T>,
3419
3476
  config: TopoConfig = {}
3420
3477
  ): NodeWalker<N> => {
3478
+ if (graph.type === "undirected") {
3479
+ throw new Error("Cannot perform topological sort on undirected graph")
3480
+ }
3481
+
3421
3482
  // Check if graph is acyclic first
3422
3483
  if (!isAcyclic(graph)) {
3423
3484
  throw new Error("Cannot perform topological sort on cyclic graph")
@@ -3562,7 +3623,7 @@ export const dfsPostOrder = <N, E, T extends Kind = "directed">(
3562
3623
 
3563
3624
  if (!current.visitedChildren) {
3564
3625
  current.visitedChildren = true
3565
- const neighbors = neighborsDirected(graph, current.node, direction)
3626
+ const neighbors = getTraversalNeighbors(graph, current.node, direction)
3566
3627
 
3567
3628
  for (let i = neighbors.length - 1; i >= 0; i--) {
3568
3629
  const neighbor = neighbors[i]
@@ -1,4 +1,4 @@
1
- let moduleVersion = "3.21.3"
1
+ let moduleVersion = "3.21.4"
2
2
 
3
3
  export const getCurrentVersion = () => moduleVersion
4
4