diff options
Diffstat (limited to 'src/document/store.rs')
| -rw-r--r-- | src/document/store.rs | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/document/store.rs b/src/document/store.rs index f18f2fa..db5ecbc 100644 --- a/src/document/store.rs +++ b/src/document/store.rs @@ -650,6 +650,11 @@ fn summary( Ok(JsonValue::Object(out)) } +/// Whether `path` holds a map (one, or concurrent ones merged). +pub(crate) fn is_map(doc: &impl ReadDoc, path: &[String]) -> bool { + matches!(resolve_through(doc, path), Ok(Some(Resolved::Maps(_)))) +} + /// Keys of the merged map at `path`; empty if it doesn't exist or isn't a map. pub(crate) fn keys_at(doc: &impl ReadDoc, path: &[String]) -> Result<Vec<String>, StoreError> { Ok(match resolve_through(doc, path)? { |
