effect 3.21.2 → 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/Data.js.map +1 -1
- package/dist/cjs/Graph.js +62 -13
- package/dist/cjs/Graph.js.map +1 -1
- package/dist/cjs/JSONSchema.js +2 -1
- package/dist/cjs/JSONSchema.js.map +1 -1
- package/dist/cjs/internal/version.js +1 -1
- package/dist/dts/Data.d.ts +7 -7
- package/dist/dts/Data.d.ts.map +1 -1
- package/dist/dts/Graph.d.ts.map +1 -1
- package/dist/esm/Data.js.map +1 -1
- package/dist/esm/Graph.js +62 -13
- package/dist/esm/Graph.js.map +1 -1
- package/dist/esm/JSONSchema.js +2 -1
- package/dist/esm/JSONSchema.js.map +1 -1
- package/dist/esm/internal/version.js +1 -1
- package/package.json +1 -1
- package/src/Data.ts +8 -11
- package/src/Graph.ts +74 -13
- package/src/JSONSchema.ts +4 -1
- package/src/internal/version.ts +1 -1
package/dist/cjs/Data.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Data.js","names":["core","_interopRequireWildcard","require","internal","_effectable","Predicate","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","struct","exports","unsafeStruct","as","setPrototypeOf","StructuralPrototype","tuple","unsafeArray","array","slice","ArrayProto","_case","args","undefined","create","case","tagged","tag","value","_tag","Class","Structural","TaggedClass","Base","taggedEnum","Proxy","_target","_receiver","isTagged","taggedMatch","arguments","length","cases","Error","plainArgsSymbol","Symbol","for","O","BaseEffectError","YieldableError","constructor","message","cause","assign","enumerable","toJSON","TaggedError","prototype","name"],"sources":["../../src/Data.ts"],"sourcesContent":[null],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Data.js","names":["core","_interopRequireWildcard","require","internal","_effectable","Predicate","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","struct","exports","unsafeStruct","as","setPrototypeOf","StructuralPrototype","tuple","unsafeArray","array","slice","ArrayProto","_case","args","undefined","create","case","tagged","tag","value","_tag","Class","Structural","TaggedClass","Base","taggedEnum","Proxy","_target","_receiver","isTagged","taggedMatch","arguments","length","cases","Error","plainArgsSymbol","Symbol","for","O","BaseEffectError","YieldableError","constructor","message","cause","assign","enumerable","toJSON","TaggedError","prototype","name"],"sources":["../../src/Data.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
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
|
|
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
|
|
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
|
|
2325
|
-
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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)) {
|
package/dist/cjs/Graph.js.map
CHANGED
|
@@ -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":[]}
|
package/dist/cjs/JSONSchema.js
CHANGED
|
@@ -556,7 +556,8 @@ function go(ast, $defs, identifier, path, options, annotation, errors) {
|
|
|
556
556
|
switch (parameter._tag) {
|
|
557
557
|
case "StringKeyword":
|
|
558
558
|
{
|
|
559
|
-
|
|
559
|
+
const additionalProperties = go(pruned, $defs, "handle-identifier", path, options, "handle-annotation", errors);
|
|
560
|
+
output.additionalProperties = isNeverWithoutCustomAnnotations(additionalProperties) ? false : additionalProperties;
|
|
560
561
|
break;
|
|
561
562
|
}
|
|
562
563
|
case "TemplateLiteral":
|