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

Function deep_merge

atomic-agent/src/hooks/manifest.rs:355–364  ·  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

353/// value (no duplicates), scalars overwrite. Used for non-hook settings such
354/// as Claude's `permissions.deny` rule.
355fn deep_merge(root: &mut Map<String, Value>, extra: &Map<String, Value>) {
356 for (key, value) in extra {
357 match root.get_mut(key) {
358 Some(existing) => merge_value(existing, value),
359 None => {
360 root.insert(key.clone(), value.clone());
361 }
362 }
363 }
364}
365
366fn merge_value(target: &mut Value, source: &Value) {
367 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