Compute field-level diffs between two JSON objects. Returns an empty Vec if both values are identical or if either is not an object (non-objects are opaque — we can't produce field-level diffs).
(old: &serde_json::Value, new: &serde_json::Value)
| 145 | /// Returns an empty Vec if both values are identical or if either is not |
| 146 | /// an object (non-objects are opaque — we can't produce field-level diffs). |
| 147 | pub fn compute_field_diffs(old: &serde_json::Value, new: &serde_json::Value) -> Vec<FieldDiff> { |
| 148 | let mut diffs = Vec::new(); |
| 149 | diff_values(&mut diffs, "", old, new); |
| 150 | diffs |
| 151 | } |
| 152 | |
| 153 | /// Recursive diff of two JSON values at a given path prefix. |
| 154 | fn diff_values( |