Skip to content

Commit 0eddd47

Browse files
committed
[Python] Return None instead of undefined from resolve_template
because undefined is for internal puprposes only
1 parent 63be049 commit 0eddd47

2 files changed

Lines changed: 10 additions & 8 deletions

File tree

python/fpml/core/extract.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ def resolve_template(
5555
FHIRPathMappingLanguage Specification:
5656
https://github.com/beda-software/FHIRPathMappingLanguage/tree/main?tab=readme-ov-file#specification
5757
""" # noqa: E501
58-
return resolve_template_recur(
58+
result = resolve_template_recur(
5959
[],
6060
guarded_resource if strict else resource,
6161
template,
@@ -64,6 +64,8 @@ def resolve_template(
6464
fp_options=fp_options,
6565
)
6666

67+
return None if result == undefined else result
68+
6769

6870
def resolve_template_recur(
6971
start_path: Path,

python/tests/core/test_extract.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -58,11 +58,11 @@ def test_transformation_works_on_accessing_props_of_implicit_context_in_strict_m
5858

5959

6060
def test_transformation_for_empty_object_return_empty_object() -> None:
61-
assert resolve_template({}, {}) == undefined
61+
assert resolve_template({}, {}) is None
6262

6363

6464
def test_transformation_for_empty_array_return_empty_array() -> None:
65-
assert resolve_template({}, []) == undefined
65+
assert resolve_template({}, []) is None
6666

6767

6868
def test_transformation_for_array_of_arrays_returns_flattened_array() -> None:
@@ -82,7 +82,7 @@ def test_transformation_for_object_with_null_keys_returns_null_keys() -> None:
8282

8383

8484
def test_transformation_for_object_with_undefined_keys_clears_undefined_keys() -> None:
85-
assert resolve_template({}, {"key": undefined}) == undefined
85+
assert resolve_template({}, {"key": undefined}) is None
8686

8787

8888
def test_transformation_for_object_with_non_null_keys_returns_non_null_keys() -> None:
@@ -123,7 +123,7 @@ def test_transformation_for_non_empty_array_expression_return_first_element() ->
123123

124124
def test_transformation_for_empty_array_expression_clears_undefined_keys() -> None:
125125
resource: Resource = {"list": []}
126-
assert resolve_template(resource, {"result": "{{ list.where($this = 0) }}"}) == undefined
126+
assert resolve_template(resource, {"result": "{{ list.where($this = 0) }}"}) is None
127127

128128

129129
def test_transformation_for_empty_array_nullable_expression_returns_null() -> None:
@@ -148,7 +148,7 @@ def test_transformation_for_empty_array_template_expression_returns_undefined()
148148
resource,
149149
"/Patient/{{ list.where($this = 0) }}/_history/{{ list.last() }}",
150150
)
151-
== undefined
151+
is None
152152
)
153153

154154

@@ -237,7 +237,7 @@ def test_assign_block_with_undefined_intermediate_values() -> None:
237237
"valueA": "{{ %varB }}",
238238
},
239239
)
240-
== undefined
240+
is None
241241
)
242242

243243

@@ -511,7 +511,7 @@ def test_if_block_clears_undefined_keys_for_falsy_condition_without_else_branch(
511511
},
512512
},
513513
)
514-
assert result == undefined
514+
assert result is None
515515

516516

517517
def test_if_block_returns_null_for_falsy_condition_with_nullable_else_branch() -> None:

0 commit comments

Comments
 (0)