MCPcopy Create free account
hub / github.com/bigskysoftware/_hyperscript / _renderTemplate

Method _renderTemplate

www/js/ext/component.js:778–807  ·  view source on GitHub ↗
(source)

Source from the content-addressed store, hash-verified

776 );
777 }
778 _renderTemplate(source) {
779 var ctx = runtime.makeContext(this, null, this, null);
780 var buf = [];
781 ctx.meta.__ht_template_result = buf;
782 var tokens = tokenizer.tokenize(source, "lines");
783 var parser = createParser(tokens);
784 var commandList;
785 try {
786 commandList = parser.parseElement("commandList");
787 parser.ensureTerminated(commandList);
788 } catch (e) {
789 console.error("hypercomp template parse error:", e.message || e);
790 return "";
791 }
792 var resolve, reject;
793 var promise = new Promise(function(res, rej) {
794 resolve = res;
795 reject = rej;
796 });
797 commandList.execute(ctx);
798 this.__hs_scopes = ctx.meta.__ht_scopes || null;
799 if (ctx.meta.returned || !ctx.meta.resolve) {
800 return buf.join("");
801 }
802 ctx.meta.resolve = resolve;
803 ctx.meta.reject = reject;
804 return promise.then(function() {
805 return buf.join("");
806 });
807 }
808 _stampTemplate(html) {
809 if (!this._hypercomp_stamped) {
810 this.innerHTML = html;

Callers 2

connectedCallbackMethod · 0.45
_setupReactiveEffectMethod · 0.45

Calls 5

makeContextMethod · 0.45
tokenizeMethod · 0.45
parseElementMethod · 0.45
ensureTerminatedMethod · 0.45
executeMethod · 0.45

Tested by

no test coverage detected