Skip to content

Commit e164d24

Browse files
committed
avoid tuplebindings to be empty
1 parent 4c3b12e commit e164d24

2 files changed

Lines changed: 6 additions & 1 deletion

File tree

src/jsonata/jsonata.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -469,7 +469,7 @@ def evaluate_tuple_step(self, expr: parser.Parser.Symbol, input: Optional[Sequen
469469
result.tuple_stream = True
470470
step_env = environment
471471
if tuple_bindings is None:
472-
tuple_bindings = [{"@": item} for item in input if item is not None]
472+
tuple_bindings = [{"@": item} for item in input]
473473

474474
for tuple_binding in tuple_bindings:
475475
step_env = self.create_frame_from_tuple(environment, tuple_binding)

tests/array_test.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,11 @@ def test_wildcard(self):
1010
expr = jsonata.Jsonata("*")
1111
assert expr.evaluate([{"x": 1}]) == {"x": 1}
1212

13+
def test_index(self):
14+
expr = jsonata.Jsonata("($x:=['a','b']; $x#$i.$i)")
15+
assert expr.evaluate(1) == [0, 1]
16+
assert expr.evaluate(None) == [0, 1]
17+
1318
def test_wildcard_filter(self):
1419
value1 = {"value": {"Name": "Cell1", "Product": "Product1"}}
1520
value2 = {"value": {"Name": "Cell2", "Product": "Product2"}}

0 commit comments

Comments
 (0)