Skip to content

Commit

Permalink
♻️ Deduplicate self-ancestor code
Browse files Browse the repository at this point in the history
  • Loading branch information
skerit committed Jun 15, 2024
1 parent 99c135c commit 841aa64
Showing 1 changed file with 31 additions and 22 deletions.
53 changes: 31 additions & 22 deletions lib/element/custom_element.js
Original file line number Diff line number Diff line change
Expand Up @@ -1267,13 +1267,7 @@ function renderContentsWithTemplate(element, template, variables, slot_data, ple
variables.hawkejs_renderer = renderer;

if (element.is_custom_hawkejs_element) {
variables.setEphemeralGetter('self', () => {

// Ensure the element options are ready
element.ensureConstructed();

return element;
});
addSelfAncestor(variables, element);
}

Hawkejs.series(next => {
Expand Down Expand Up @@ -2855,21 +2849,7 @@ Element.setMethod(function applyCompiledTemplate(fnc) {
render_vars = renderer.prepareVariables();
}

render_vars.setEphemeralGetter('self', () => {

// Ensure the element options are ready
this.ensureConstructed();

return this;
});

render_vars.setEphemeralGetter('$ancestor_element', () => {

// Ensure the element options are ready
this.ensureConstructed();

return this;
});
addSelfAncestor(render_vars, this);

let elements = renderer.evaluate(fnc, render_vars),
i;
Expand All @@ -2883,6 +2863,35 @@ Element.setMethod(function applyCompiledTemplate(fnc) {
_finishRender.call(this);
});

/**
* Add `self` and `$ancestor_element` ephemeral variables
*
* @author Jelle De Loecker <[email protected]>
* @since 2.4.0
* @version 2.4.0
*
* @param {Hawkejs.Variables} variables
* @param {Element} element
*/
const addSelfAncestor = (variables, element) => {

variables.setEphemeralGetter('self', () => {

// Ensure the element options are ready
element.ensureConstructed();

return element;
});

variables.setEphemeralGetter('$ancestor_element', () => {

// Ensure the element options are ready
element.ensureConstructed();

return element;
});
};

/**
* Make sure this element is ready for use.
*
Expand Down

0 comments on commit 841aa64

Please sign in to comment.