Skip to content

Commit

Permalink
πŸ› Make sure variables are always cast to a Variables instance
Browse files Browse the repository at this point in the history
  • Loading branch information
skerit committed Apr 27, 2024
1 parent 1df9b58 commit 118fdba
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 5 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

* Use shorter compiled function body ids when not on development environment
* Add basic `Optional` value-wrapper class support
* Make sure variables are always cast to a `Variables` instance

## 2.3.19 (2024-04-13)

Expand Down
4 changes: 2 additions & 2 deletions lib/core/renderer.js
Original file line number Diff line number Diff line change
Expand Up @@ -2144,7 +2144,7 @@ Renderer.setMethod(function applySynchronousRenderElementOptions(element, option
*
* @author Jelle De Loecker <[email protected]>
* @since 2.0.0
* @version 2.3.1
* @version 2.4.0
*
* @param {Element} element
* @param {Object} options
Expand Down Expand Up @@ -2242,7 +2242,7 @@ Renderer.setMethod(function applyElementOptions(element, options, for_sync_rende
if (options.variables) {

if (!element[Hawkejs.VARIABLES]) {
element[Hawkejs.VARIABLES] = {};
element[Hawkejs.VARIABLES] = this.prepareVariables({});
}

for (i = 0; i < options.variables.length; i++) {
Expand Down
8 changes: 5 additions & 3 deletions lib/element/custom_element.js
Original file line number Diff line number Diff line change
Expand Up @@ -2516,7 +2516,7 @@ function _resolveRender(err) {
*
* @author Jelle De Loecker <[email protected]>
* @since 2.1.3
* @version 2.2.9
* @version 2.4.0
*
* @param {Function} fnc
*/
Expand All @@ -2531,10 +2531,12 @@ Element.setMethod(function applyCompiledTemplate(fnc) {

let renderer = this.ensureHawkejsRenderer();

let render_vars = {};
let render_vars;

if (this[Hawkejs.VARIABLES]) {
Object.assign(render_vars, this[Hawkejs.VARIABLES]);
render_vars = this[Hawkejs.VARIABLES].overlay();
} else {
render_vars = renderer.prepareVariables({});
}

Blast.defineGet(render_vars, 'self', () => {
Expand Down

0 comments on commit 118fdba

Please sign in to comment.