Serialize maps/lists when reconstructing lazily in case element(s) are updated
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
Research direction
Start by reproducing the issue with the provided template and inspect the set-tag reconstruction and lazy serialization paths. Done means the reconstructed list preserves the updated nested map, or creates a deferred node when that cannot be represented safely.
Written by the indexing model from the issue text.
Description
{% set list = [] %}
{% set map = {} %}
{% do list.append(map) %}
{% if deferred %}
{% do list.append(1) %}
{% endif %}
{% do map.update({'a': 'A'}) %}
{{ list }}
This currently becomes:
{% set list = [{} ] %}{% if deferred %}
{% do list.append(1) %}
{% endif %}
{{ list }}
When it should be more like:
{% set list = [{'a': 'A'} ] %}{% if deferred %}
{% do list.append(1) %}
{% endif %}
{{ list }}
Or at least create a deferred node so that we know that something went wrong. The best way I can currently think of to solve this is to make the serialization which is part of the set-tag reconstruction lazy.
This would require a great deal of refactoring so I don't know if it is worth it to solve.
- Dominant language
- Java
- Stars
- 785
- Forks
- 184
- Avg merge
- 6d 22h
- Merged PRs (30d)
- 1
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from HubSpot/jinjava
-
Difficulty 2/5 1-3 hours Newbie friendliness 64/100
-
Jinjava 3.0 Open
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
-
Difficulty 3/5 1-2 days Newbie friendliness 68/100
-
Difficulty 3/5 1-2 days Newbie friendliness 45/100
Similar issues
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
-
Two open-case totals on one screen: the Programs tile says 15,858 and the nav badge says 15,868 Openbug frontend maui-pilot
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
objectionary/eo-graphs#74 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100