When using the in operator inside a template literal, if the object is null, compiler will fail.
For example:
{{ 'yes' if myOption in preferences else 'no' }} fails to render if preferences is not in context map.
In Python's Jinja2 render, it is possible to setup the compiler to make this render to no.
I would expect this not to fail if throwOnUndefined is set to false. If this is not the expected behavior, would like to hear what would be the option to support this.
Also would like to add a test for this but I am not sure what would be the correct location.
This PR fixes the compiler issue.
Checklist
I've completed the checklist below to ensure I didn't forget anything. This makes reviewing this PR as easy as possible for the maintainers. And it gets this change released as soon as possible.
Summary
When using the
in
operator inside a template literal, if the object is null, compiler will fail.For example:
{{ 'yes' if myOption in preferences else 'no' }}
fails to render ifpreferences
is not in context map.In Python's Jinja2 render, it is possible to setup the compiler to make this render to
no
. I would expect this not to fail ifthrowOnUndefined
is set to false. If this is not the expected behavior, would like to hear what would be the option to support this.Also would like to add a test for this but I am not sure what would be the correct location.
This PR fixes the compiler issue.
Checklist
I've completed the checklist below to ensure I didn't forget anything. This makes reviewing this PR as easy as possible for the maintainers. And it gets this change released as soon as possible.