refactor(use_seq): optimize group handling by removing unnecessary cloning

This commit is contained in:
Tunglies
2025-11-26 03:31:13 +08:00
parent 643e15b752
commit 2e6e9a0db4

View File

@@ -50,7 +50,6 @@ pub fn use_seq(seq: SeqMap, mut config: Mapping, field: &str) -> Mapping {
let mut new_groups = Sequence::new(); let mut new_groups = Sequence::new();
for group in groups { for group in groups {
if let Value::Mapping(group_map) = group { if let Value::Mapping(group_map) = group {
let mut new_group = group_map.clone();
if let Some(Value::Sequence(proxies)) = group_map.get("proxies") { if let Some(Value::Sequence(proxies)) = group_map.get("proxies") {
let filtered_proxies: Sequence = proxies let filtered_proxies: Sequence = proxies
.iter() .iter()
@@ -63,14 +62,14 @@ pub fn use_seq(seq: SeqMap, mut config: Mapping, field: &str) -> Mapping {
}) })
.cloned() .cloned()
.collect(); .collect();
new_group.insert( group_map.insert(
Value::String("proxies".into()), Value::String("proxies".into()),
Value::Sequence(filtered_proxies), Value::Sequence(filtered_proxies),
); );
} }
new_groups.push(Value::Mapping(new_group)); new_groups.push(Value::Mapping(group_map.to_owned()));
} else { } else {
new_groups.push(group.clone()); new_groups.push(group.to_owned());
} }
} }
config.insert( config.insert(