diff options
author | Matthias Beyer <mail@beyermatthias.de> | 2021-01-03 10:20:57 +0100 |
---|---|---|
committer | Matthias Beyer <mail@beyermatthias.de> | 2021-01-03 10:37:32 +0100 |
commit | bb65b0e50bd48ebb3da056192fd47422242bc917 (patch) | |
tree | cd4aa13b3443749e5f4ea6618f2323ff2fc2e8f9 | |
parent | 8eddccf12b2d5cc9d0a912236eb4778d326cd749 (diff) |
Simplify aggregation
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
-rw-r--r-- | src/config.rs | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/src/config.rs b/src/config.rs index 1da9a6c..e19f19f 100644 --- a/src/config.rs +++ b/src/config.rs @@ -135,20 +135,19 @@ impl TryFrom<ConfigDeser> for Config { /// Lets serde do the deserialization, and transforms the given data /// for later access fn try_from(conf_deser: ConfigDeser) -> std::result::Result<Self, Self::Error> { - let l_items: Vec<LogItem> = conf_deser.item + let items: Vec<LogItem> = conf_deser.item .into_iter() .map(LogItem::try_from) .collect::<Result<_>>()?; // combines all aliases into one Vec for the /search endpoint - let mut all_als : Vec<String> = Vec::new(); - for li in l_items.iter() { - for als in li.aliases() { - all_als.push((*als).clone()); - } - } + let all_aliases = items.iter() + .map(|li| li.aliases()) + .flatten() + .cloned() + .collect(); - Ok(Config { items: l_items, all_aliases : all_als }) + Ok(Config { items, all_aliases }) } } |