Files
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

33 lines
998 B
JavaScript

var components = function components(graph) {
var visited = new Set();
var resultComponents = [];
var nodes = graph.nodes();
nodes.forEach(function (n) {
var componentsArr = [];
var waitingList = [n];
while (waitingList.length > 0) {
var node = waitingList.pop();
if (!visited.has(node)) {
var _graph$successors, _graph$predecessors;
visited.add(node);
componentsArr.push(node);
(_graph$successors = graph.successors(node)) === null || _graph$successors === void 0 ? void 0 : _graph$successors.forEach(function (n) {
return waitingList.push(n);
});
(_graph$predecessors = graph.predecessors(node)) === null || _graph$predecessors === void 0 ? void 0 : _graph$predecessors.forEach(function (n) {
return waitingList.push(n);
});
}
}
if (componentsArr.length) {
resultComponents.push(componentsArr);
}
});
return resultComponents;
};
export default components;