Skip to content

Commit

Permalink
(fix) issue when up level block has base value
Browse files Browse the repository at this point in the history
  • Loading branch information
sunng87 committed Feb 19, 2021
1 parent cb1ab6c commit 1453fdc
Showing 1 changed file with 9 additions and 8 deletions.
17 changes: 9 additions & 8 deletions src/context.rs
Expand Up @@ -78,19 +78,20 @@ fn parse_json_visitor<'a, 'reg>(
}
None => {
if path_context_depth > 0 {
if let Some(ref context_base_path) = block_contexts
let blk = block_contexts
.get(path_context_depth as usize)
.map(|blk| blk.base_path())
{
extend(&mut path_stack, context_base_path);
.or_else(|| block_contexts.front());

if let Some(base_value) = blk.and_then(|blk| blk.base_value()) {
merge_json_path(&mut path_stack, relative_path);
ResolvedPath::LocalValue(path_stack, base_value)
} else {
// TODO: is this correct behaviour?
if let Some(ref base_path) = block_contexts.front().map(|blk| blk.base_path()) {
if let Some(base_path) = blk.map(|blk| blk.base_path()) {
extend(&mut path_stack, base_path);
}
merge_json_path(&mut path_stack, relative_path);
ResolvedPath::AbsolutePath(path_stack)
}
merge_json_path(&mut path_stack, relative_path);
ResolvedPath::AbsolutePath(path_stack)
} else if from_root {
merge_json_path(&mut path_stack, relative_path);
ResolvedPath::AbsolutePath(path_stack)
Expand Down

0 comments on commit 1453fdc

Please sign in to comment.