(source)
| 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; |
no test coverage detected