MCPcopy Index your code
hub / github.com/bigskysoftware/_hyperscript / resolve

Method resolve

tools/common/_hyperscript.iife.js:9784–9824  ·  view source on GitHub ↗
(ctx, { template, templateArgs })

Source from the content-addressed store, hash-verified

9782 return cmd;
9783 }
9784 resolve(ctx, { template, templateArgs }) {
9785 if (!(template instanceof Element)) throw new Error(this.template_.sourceFor() + " is not an element");
9786 var buf = [];
9787 var runtime2 = ctx.meta.runtime;
9788 var renderCtx = runtime2.makeContext(ctx.me, null, ctx.me, null);
9789 renderCtx.locals = Object.assign({}, ctx.locals, templateArgs);
9790 renderCtx.meta.__ht_template_result = buf;
9791 var tokens = new Tokenizer().tokenize(template.innerHTML, "lines");
9792 var parser = this._parser.createChildParser(tokens);
9793 var commandList;
9794 try {
9795 commandList = parser.parseElement("commandList");
9796 parser.ensureTerminated(commandList);
9797 } catch (e) {
9798 console.error("hyperscript template parse error:", e.parseError?.message || e.message || e);
9799 ctx.result = "";
9800 return runtime2.findNext(this, ctx);
9801 }
9802 var errors = commandList.collectErrors();
9803 if (errors.length) {
9804 for (var err of errors) {
9805 console.error("hyperscript template error (line " + err.line + "): " + err.message + (err.expr ? " in ${" + err.expr + "}" : ""));
9806 }
9807 }
9808 var resolve, reject;
9809 var promise = new Promise(function(res, rej) {
9810 resolve = res;
9811 reject = rej;
9812 });
9813 commandList.execute(renderCtx);
9814 if (renderCtx.meta.returned) {
9815 ctx.result = buf.join("");
9816 return runtime2.findNext(this, ctx);
9817 }
9818 renderCtx.meta.resolve = resolve;
9819 renderCtx.meta.reject = reject;
9820 return promise.then(() => {
9821 ctx.result = buf.join("");
9822 return runtime2.findNext(this, ctx);
9823 });
9824 }
9825 };
9826 var EscapeExpression = class _EscapeExpression extends Expression {
9827 static grammarName = "escape";

Callers

nothing calls this directly

Calls 9

sourceForMethod · 0.45
makeContextMethod · 0.45
tokenizeMethod · 0.45
createChildParserMethod · 0.45
parseElementMethod · 0.45
ensureTerminatedMethod · 0.45
findNextMethod · 0.45
collectErrorsMethod · 0.45
executeMethod · 0.45

Tested by

no test coverage detected