MCPcopy Create free account
hub / github.com/atomicdotdev/atomic / deep_merge

Function deep_merge

atomic-agent/src/hooks/manifest.rs:317–326  ·  view source on GitHub ↗

Deep-merge `extra` into `root`: objects merge recursively, arrays union by value (no duplicates), scalars overwrite. Used for non-hook settings such as Claude's `permissions.deny` rule.

(root: &mut Map<String, Value>, extra: &Map<String, Value>)

Source from the content-addressed store, hash-verified

315/// value (no duplicates), scalars overwrite. Used for non-hook settings such
316/// as Claude's `permissions.deny` rule.
317fn deep_merge(root: &mut Map<String, Value>, extra: &Map<String, Value>) {
318 for (key, value) in extra {
319 match root.get_mut(key) {
320 Some(existing) => merge_value(existing, value),
321 None => {
322 root.insert(key.clone(), value.clone());
323 }
324 }
325 }
326}
327
328fn merge_value(target: &mut Value, source: &Value) {
329 match (target, source) {

Callers 2

install_from_manifestFunction · 0.85
merge_valueFunction · 0.85

Calls 4

merge_valueFunction · 0.85
get_mutMethod · 0.80
insertMethod · 0.45
cloneMethod · 0.45

Tested by

no test coverage detected