summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorandy.boot <bootandy@gmail.com>2023-01-29 10:08:53 +0000
committerandy.boot <bootandy@gmail.com>2023-02-04 11:20:50 +0000
commit5a3e15d0ce90bdc849b3570e6a61c3515f8a1e8e (patch)
tree97d03acc0982664ffc067bf1d44c9270e57a5b45
parent6db013a601d57fb671b85cff3ad355e460e66bee (diff)
refactor: simplify filter.rs
-rw-r--r--src/filter.rs14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/filter.rs b/src/filter.rs
index 740b549..66b08db 100644
--- a/src/filter.rs
+++ b/src/filter.rs
@@ -39,14 +39,14 @@ pub fn get_biggest(top_level_nodes: Vec<Node>, display_data: AggregateData) -> O
heap = add_children(&display_data, &root, heap);
}
- fill_remaining_lines(heap, &root, display_data)
+ Some(fill_remaining_lines(heap, &root, display_data))
}
pub fn fill_remaining_lines<'a>(
mut heap: BinaryHeap<&'a Node>,
root: &'a Node,
display_data: AggregateData,
-) -> Option<DisplayNode> {
+) -> DisplayNode {
let mut allowed_nodes = HashMap::new();
while allowed_nodes.len() < display_data.number_of_lines {
@@ -109,19 +109,19 @@ fn always_add_children<'a>(
fn recursive_rebuilder(
allowed_nodes: &HashMap<&Path, &Node>,
current: &Node,
-) -> Option<DisplayNode> {
+) -> DisplayNode {
let new_children: Vec<_> = current
.children
.iter()
.filter(|c| allowed_nodes.contains_key(c.name.as_path()))
- .filter_map(|c| recursive_rebuilder(allowed_nodes, c))
+ .map(|c| recursive_rebuilder(allowed_nodes, c))
.collect();
- Some(build_node(new_children, current))
+ build_node(new_children, current)
}
// Applies all allowed nodes as children to current node
-fn flat_rebuilder(allowed_nodes: HashMap<&Path, &Node>, current: &Node) -> Option<DisplayNode> {
+fn flat_rebuilder(allowed_nodes: HashMap<&Path, &Node>, current: &Node) -> DisplayNode {
let new_children: Vec<DisplayNode> = allowed_nodes
.into_values()
.map(|v| DisplayNode {
@@ -130,7 +130,7 @@ fn flat_rebuilder(allowed_nodes: HashMap<&Path, &Node>, current: &Node) -> Optio
children: vec![],
})
.collect::<Vec<DisplayNode>>();
- Some(build_node(new_children, current))
+ build_node(new_children, current)
}
fn build_node(mut new_children: Vec<DisplayNode>, current: &Node) -> DisplayNode {