Skip to content

Commit b0c5be8

Browse files
committed
Merge tag 'JEP-19' into feature/vnext-preview
2 parents 95f2dc2 + 79e703a commit b0c5be8

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

jmespath/visitor.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,8 @@ def visit_subexpression(self, node, value):
141141
result = value
142142
for node in node['children']:
143143
result = self.visit(node, result)
144+
if (result is None):
145+
return None
144146
return result
145147

146148
def visit_field(self, node, value, *args, **kwargs):
@@ -271,16 +273,12 @@ def visit_literal(self, node, value):
271273
return node['value']
272274

273275
def visit_multi_select_dict(self, node, value):
274-
if value is None:
275-
return None
276276
collected = self._dict_cls()
277277
for child in node['children']:
278278
collected[child['value']] = self.visit(child, value)
279279
return collected
280280

281281
def visit_multi_select_list(self, node, value):
282-
if value is None:
283-
return None
284282
collected = []
285283
for child in node['children']:
286284
collected.append(self.visit(child, value))

tests/compliance/pipe.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,10 @@
126126
{
127127
"expression": "foo[*].bar[*] | [0][0]",
128128
"result": {"baz": "one"}
129+
},
130+
{
131+
"expression": "`null`|[@]",
132+
"result": [ null ]
129133
}
130134
]
131135
}]

0 commit comments

Comments
 (0)