diff options
Diffstat (limited to 'src/document')
| -rw-r--r-- | src/document/store.rs | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/document/store.rs b/src/document/store.rs index 132a2ef..e742edb 100644 --- a/src/document/store.rs +++ b/src/document/store.rs @@ -66,10 +66,10 @@ fn resolve( let merged = matches!(all[0].0, Value::Object(ObjType::Map)); - if all.len() > 1 { - if let Some(log) = log { - log.record(doc, key, &all, merged)?; - } + if all.len() > 1 + && let Some(log) = log + { + log.record(doc, key, &all, merged)?; } if merged { @@ -432,10 +432,10 @@ fn copy_maps( // merged_keys is a BTreeSet: sorted, so the operation order is deterministic. for key in merged_keys(src, maps) { path.push(key.clone()); - if !skip(path) { - if let Some(resolved) = resolve(src, maps, &key, None)? { - copy_resolved(src, &resolved, dst, target, Slot::Key(&key), path, skip)?; - } + if !skip(path) + && let Some(resolved) = resolve(src, maps, &key, None)? + { + copy_resolved(src, &resolved, dst, target, Slot::Key(&key), path, skip)?; } path.pop(); } |
