summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2021-01-03 10:20:57 +0100
committerMatthias Beyer <mail@beyermatthias.de>2021-01-03 10:37:32 +0100
commitbb65b0e50bd48ebb3da056192fd47422242bc917 (patch)
treecd4aa13b3443749e5f4ea6618f2323ff2fc2e8f9
parent8eddccf12b2d5cc9d0a912236eb4778d326cd749 (diff)
Simplify aggregation
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
-rw-r--r--src/config.rs15
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 })
}
}