Files
lan-manager/web/node_modules/@antv/algorithm/es/degree.js
openclaw 0a5f6a8047 Initial commit: Lan-manager project code
- Go backend (server/)
- Frontend (web/, server/static/)
- Database and deployment files
- Scripts and docs

Co-Authored-By: 狸花猫/Claude-Qwen3.6-Plus 🐾
2026-04-20 00:52:58 +08:00

46 lines
1.1 KiB
JavaScript

var degree = function degree(graphData) {
var degrees = {};
var _a = graphData.nodes,
nodes = _a === void 0 ? [] : _a,
_b = graphData.edges,
edges = _b === void 0 ? [] : _b;
nodes.forEach(function (node) {
degrees[node.id] = {
degree: 0,
inDegree: 0,
outDegree: 0
};
});
edges.forEach(function (edge) {
degrees[edge.source].degree++;
degrees[edge.source].outDegree++;
degrees[edge.target].degree++;
degrees[edge.target].inDegree++;
});
return degrees;
};
export default degree;
/**
* 获取指定节点的入度
* @param graphData 图数据
* @param nodeId 节点ID
*/
export var getInDegree = function getInDegree(graphData, nodeId) {
var nodeDegree = degree(graphData);
if (nodeDegree[nodeId]) {
return degree(graphData)[nodeId].inDegree;
}
return 0;
};
/**
* 获取指定节点的出度
* @param graphData 图数据
* @param nodeId 节点ID
*/
export var getOutDegree = function getOutDegree(graphData, nodeId) {
var nodeDegree = degree(graphData);
if (nodeDegree[nodeId]) {
return degree(graphData)[nodeId].outDegree;
}
return 0;
};