(target: &mut serde_json::Value, source: serde_json::Value)
| 823 | } |
| 824 | |
| 825 | fn merge_json_value(target: &mut serde_json::Value, source: serde_json::Value) { |
| 826 | match (target, source) { |
| 827 | (serde_json::Value::Object(target_map), serde_json::Value::Object(source_map)) => { |
| 828 | for (key, source_value) in source_map { |
| 829 | if let Some(target_value) = target_map.get_mut(&key) { |
| 830 | merge_json_value(target_value, source_value); |
| 831 | } else { |
| 832 | target_map.insert(key, source_value); |
| 833 | } |
| 834 | } |
| 835 | } |
| 836 | (target, source) => *target = source, |
| 837 | } |
| 838 | } |
| 839 | |
| 840 | #[cfg(test)] |
| 841 | mod tests { |
no test coverage detected