- Go backend (server/)
- Frontend (web/, server/static/)
- Database and deployment files
- Scripts and docs
Co-Authored-By: 狸花猫/Claude-Qwen3.6-Plus 🐾
33 lines
998 B
JavaScript
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; |