Migrate `CrateMetadata::graph_data()` from `HashMap` to `petgraph` representation
Dependencies
- [2]
Q3Z6XMP5Migrate dependency tree to `petgraph::Graph` - [3]
JVYWRCPTAdd basic chart visualisation - [*]
7CVIL7UJCreate simple metadata parser
Change contents
- edit in src/main.rs at line 7
visit::{EdgeRef, IntoEdgeReferences, IntoEdgesDirected, NodeRef}, - replacement in src/main.rs at line 59[3.306]→[3.306:389](∅→∅),[3.389]→[2.1106:1169](∅→∅),[2.1169]→[3.434:530](∅→∅),[3.434]→[3.434:530](∅→∅)
.packages.iter().zip(0..self.packages.len()).map(|(pkg, coords)| charming::series::GraphNode {id: pkg.id.repr.clone(),name: self.data[&pkg.id].name.clone(),.dependency_tree.node_weights().enumerate().map(|(coords, id)| charming::series::GraphNode {id: id.to_string(),name: self.data[*id].name.clone(), - replacement in src/main.rs at line 75
.node_index.values().map(|node| {node.deps.iter().map(move |child| (node, child.pkg.repr.clone())).dependency_tree.edge_indices().map(|edge_idx| self.dependency_tree.edge_endpoints(edge_idx)).filter_map(|optional_endpoints| optional_endpoints).map(|(source_idx, target_idx)| {(&self.dependency_tree[source_idx],&self.dependency_tree[target_idx],) - replacement in src/main.rs at line 85[3.998]→[3.998:1021](∅→∅),[3.1021]→[2.1170:1235](∅→∅),[2.1235]→[3.1068:1147](∅→∅),[3.1068]→[3.1068:1147](∅→∅)
.flatten().map(|(parent, child)| charming::series::GraphLink {source: parent.id.repr.clone(),target: child,.map(|(source, target)| charming::series::GraphLink {source: source.repr.clone(),target: target.repr.clone(),