| 238 | } |
| 239 | |
| 240 | fn diff_changes_files_count(values: &[Box<dyn Value>]) -> Box<dyn Value> { |
| 241 | if let Some(changes) = values[0].as_any().downcast_ref::<DiffChangesValue>() { |
| 242 | let mut unique_files: HashSet<&String> = HashSet::new(); |
| 243 | for change in changes.changes.iter() { |
| 244 | unique_files.insert(&change.location); |
| 245 | } |
| 246 | let value = unique_files.len() as i64; |
| 247 | return Box::new(IntValue::new(value)); |
| 248 | } |
| 249 | Box::new(IntValue::new_zero()) |
| 250 | } |
| 251 | |
| 252 | fn diff_changes_contains_file(values: &[Box<dyn Value>]) -> Box<dyn Value> { |
| 253 | if let Some(changes) = values[0].as_any().downcast_ref::<DiffChangesValue>() { |