aboutsummaryrefslogtreecommitdiff
path: root/server/data/src/book
diff options
context:
space:
mode:
authornieboczek <bartekkoraliki@gmail.com>2025-12-16 15:26:02 +0100
committernieboczek <bartekkoraliki@gmail.com>2025-12-16 15:30:01 +0100
commit348e44880c81f1d223f53ab11897bae427073d42 (patch)
tree81ff7f3a167cdd5a4652f85441dc4607c317081b /server/data/src/book
parent6419d8c8139d697af309b7db2e698effa8290582 (diff)
downloadhurrycurry-348e44880c81f1d223f53ab11897bae427073d42.tar
hurrycurry-348e44880c81f1d223f53ab11897bae427073d42.tar.bz2
hurrycurry-348e44880c81f1d223f53ab11897bae427073d42.tar.zst
Return an Iterator over recipe inputs and outputs instead of a Vec
Diffstat (limited to 'server/data/src/book')
-rw-r--r--server/data/src/book/recipe_diagram.rs16
1 files changed, 3 insertions, 13 deletions
diff --git a/server/data/src/book/recipe_diagram.rs b/server/data/src/book/recipe_diagram.rs
index b6639657..2c203f95 100644
--- a/server/data/src/book/recipe_diagram.rs
+++ b/server/data/src/book/recipe_diagram.rs
@@ -59,20 +59,10 @@ pub fn recipe_diagram(
while let Some(item) = need.pop_first() {
let mut found_recipe = false;
for (ri, r) in data.recipes() {
- if r.outputs().contains(&item) {
+ if r.outputs().any(|i| i == item) {
let gr = GraphRecipe {
- inputs: r
- .inputs()
- .iter()
- .filter(|i| !ambient_items.contains(i))
- .copied()
- .collect(),
- outputs: r
- .outputs()
- .iter()
- .filter(|i| !ambient_items.contains(i))
- .copied()
- .collect(),
+ inputs: r.inputs().filter(|i| !ambient_items.contains(i)).collect(),
+ outputs: r.outputs().filter(|i| !ambient_items.contains(i)).collect(),
index: ri,
};
need.extend(gr.inputs.iter().filter(|i| !have.contains(i)));