Skip to content
This repository was archived by the owner on Jul 14, 2025. It is now read-only.

Commit ae2f4af

Browse files
committed
chore: Run cargo fmt
1 parent 984c392 commit ae2f4af

File tree

15 files changed

+785
-349
lines changed

15 files changed

+785
-349
lines changed

src/bindle_util.rs

Lines changed: 70 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
use std::{collections::{HashMap, HashSet}, iter::FromIterator};
1+
use std::{
2+
collections::{HashMap, HashSet},
3+
iter::FromIterator,
4+
};
25

36
use bindle::{Invoice, Parcel};
47

@@ -45,30 +48,34 @@ impl InvoiceUnderstander {
4548
pub fn classify_parcel(&self, parcel: &Parcel) -> Option<InterestingParcel> {
4649
// Currently only handlers but we have talked of scheduled tasks etc.
4750
parcel.label.feature.as_ref().and_then(|features| {
48-
features.get("wagi").and_then(|wagi_features| {
49-
match wagi_features.get("route") {
51+
features
52+
.get("wagi")
53+
.and_then(|wagi_features| match wagi_features.get("route") {
5054
Some(route) => {
5155
let handler_info = WagiHandlerInfo {
5256
invoice_id: self.id(),
5357
parcel: parcel.clone(),
5458
route: route.to_owned(),
5559
entrypoint: wagi_features.get("entrypoint").map(|s| s.to_owned()),
5660
allowed_hosts: wagi_features.get("allowed_hosts").map(|h| parse_csv(h)),
57-
required_parcels: parcels_required_for(parcel, &self.group_dependency_map),
61+
required_parcels: parcels_required_for(
62+
parcel,
63+
&self.group_dependency_map,
64+
),
5865
};
5966
Some(InterestingParcel::WagiHandler(handler_info))
60-
},
67+
}
6168
None => None,
62-
}
63-
})
69+
})
6470
})
6571
}
6672

6773
pub fn parse_wagi_handlers(&self) -> Vec<WagiHandlerInfo> {
68-
self
69-
.top_modules().iter()
74+
self.top_modules()
75+
.iter()
7076
.filter_map(|parcel| self.classify_parcel(parcel))
71-
.map(|parcel| match parcel { // If there are other cases of InterestingParcel this may need to become a filter_map, but right now that makes Clippy mad
77+
.map(|parcel| match parcel {
78+
// If there are other cases of InterestingParcel this may need to become a filter_map, but right now that makes Clippy mad
7279
InterestingParcel::WagiHandler(h) => h,
7380
})
7481
.collect()
@@ -91,27 +98,45 @@ pub struct WagiHandlerInfo {
9198

9299
impl WagiHandlerInfo {
93100
pub fn asset_parcels(&self) -> Vec<Parcel> {
94-
self.required_parcels.iter().filter(|p| is_file(p)).cloned().collect()
101+
self.required_parcels
102+
.iter()
103+
.filter(|p| is_file(p))
104+
.cloned()
105+
.collect()
95106
}
96107
}
97108

98109
const NO_PARCELS: Vec<Parcel> = vec![];
99110

100111
pub fn is_file(parcel: &Parcel) -> bool {
101-
parcel.label.feature.as_ref().and_then(|features| {
102-
features.get("wagi").map(|wagi_features| {
103-
match wagi_features.get("file") {
104-
Some(s) => s == "true",
105-
_ => false,
106-
}
112+
parcel
113+
.label
114+
.feature
115+
.as_ref()
116+
.and_then(|features| {
117+
features
118+
.get("wagi")
119+
.map(|wagi_features| match wagi_features.get("file") {
120+
Some(s) => s == "true",
121+
_ => false,
122+
})
107123
})
108-
}).unwrap_or(false)
124+
.unwrap_or(false)
109125
}
110126

111-
pub fn parcels_required_for(parcel: &Parcel, full_dep_map: &HashMap<String, Vec<Parcel>>) -> Vec<Parcel> {
127+
pub fn parcels_required_for(
128+
parcel: &Parcel,
129+
full_dep_map: &HashMap<String, Vec<Parcel>>,
130+
) -> Vec<Parcel> {
112131
let mut required = HashSet::new();
113132
for group in parcel.directly_requires() {
114-
required.extend(full_dep_map.get(&group).unwrap_or(&NO_PARCELS).iter().cloned());
133+
required.extend(
134+
full_dep_map
135+
.get(&group)
136+
.unwrap_or(&NO_PARCELS)
137+
.iter()
138+
.cloned(),
139+
);
115140
}
116141
Vec::from_iter(required)
117142
}
@@ -142,25 +167,39 @@ pub fn build_full_memberships(invoice: &Invoice) -> HashMap<String, Vec<Parcel>>
142167
for group in direct_memberships.keys() {
143168
let mut all_members = HashSet::new();
144169
for dep_group in gg_deps.get(group).unwrap() {
145-
all_members.extend(direct_memberships.get(dep_group).unwrap_or(&NO_PARCELS).iter().cloned());
170+
all_members.extend(
171+
direct_memberships
172+
.get(dep_group)
173+
.unwrap_or(&NO_PARCELS)
174+
.iter()
175+
.cloned(),
176+
);
146177
}
147178
full_memberships.insert(group.to_owned(), Vec::from_iter(all_members));
148179
}
149180

150181
full_memberships
151182
}
152183

153-
fn group_to_group_direct_dependencies(direct_memberships: &HashMap<String, Vec<Parcel>>) -> HashMap<String, Vec<String>> {
184+
fn group_to_group_direct_dependencies(
185+
direct_memberships: &HashMap<String, Vec<Parcel>>,
186+
) -> HashMap<String, Vec<String>> {
154187
let mut ggd = HashMap::new();
155188
for (group, members) in direct_memberships {
156-
let mut directs: Vec<_> = members.iter().flat_map(|parcel| parcel.directly_requires()).collect();
189+
let mut directs: Vec<_> = members
190+
.iter()
191+
.flat_map(|parcel| parcel.directly_requires())
192+
.collect();
157193
directs.push(group.to_owned());
158194
ggd.insert(group.to_owned(), directs);
159195
}
160196
ggd
161197
}
162198

163-
fn direct_deps_not_already_in_list(list: &[String], direct_dep_map: &HashMap<String, Vec<String>>) -> Vec<String> {
199+
fn direct_deps_not_already_in_list(
200+
list: &[String],
201+
direct_dep_map: &HashMap<String, Vec<String>>,
202+
) -> Vec<String> {
164203
let mut new_dds = vec![];
165204
for group in list {
166205
if let Some(child_groups) = direct_dep_map.get(group) {
@@ -172,7 +211,9 @@ fn direct_deps_not_already_in_list(list: &[String], direct_dep_map: &HashMap<Str
172211
HashSet::<String>::from_iter(new_dds).into_iter().collect()
173212
}
174213

175-
fn group_to_group_full_dependencies(direct_memberships: &HashMap<String, Vec<Parcel>>) -> HashMap<String, Vec<String>> {
214+
fn group_to_group_full_dependencies(
215+
direct_memberships: &HashMap<String, Vec<Parcel>>,
216+
) -> HashMap<String, Vec<String>> {
176217
let mut ggd = HashMap::new();
177218
let direct_deps = group_to_group_direct_dependencies(direct_memberships);
178219
for (group, directs) in &direct_deps {
@@ -208,7 +249,7 @@ impl ParcelUtils for Parcel {
208249
}
209250

210251
fn parse_csv(text: &str) -> Vec<String> {
211-
text.split(',').map(|v| v.to_owned()).collect() // TODO: trim etc.?
252+
text.split(',').map(|v| v.to_owned()).collect() // TODO: trim etc.?
212253
}
213254

214255
#[cfg(test)]
@@ -394,7 +435,9 @@ mod test {
394435
};
395436

396437
let membership_map = build_full_memberships(&inv);
397-
let members = membership_map.get("coffee").expect("there should have been a group called 'coffee'");
438+
let members = membership_map
439+
.get("coffee")
440+
.expect("there should have been a group called 'coffee'");
398441
assert_eq!(2, members.len());
399442
}
400443
}

0 commit comments

Comments
 (0)