fix: Pass input data of current scope to {{else}} of {{#each}} #369
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
Given the following Handlebars template:
Given the following context:
When rendering the template with this context,
{{else}}
is being rendered becauseparagraphs
is missing in the context. With native handlebars.js, this generates the following result:However, when rendering the same template and context with lightncandy, the result is:
Solution
This PR fixes the issue by passing input data of the current scope to the
else
callback inRuntime::sec()
. In addition, a test case is added which covers the above scenario.