(parser)
| 5131 | this.template = template; |
| 5132 | } |
| 5133 | static parse(parser) { |
| 5134 | var queryStart = parser.matchOpToken("<"); |
| 5135 | if (!queryStart) return; |
| 5136 | var queryTokens = parser.consumeUntil("/"); |
| 5137 | parser.requireOpToken("/"); |
| 5138 | parser.requireOpToken(">"); |
| 5139 | var queryValue = queryTokens.map(function(t) { |
| 5140 | if (t.type === "STRING") { |
| 5141 | return '"' + t.value + '"'; |
| 5142 | } else { |
| 5143 | return t.value; |
| 5144 | } |
| 5145 | }).join(""); |
| 5146 | var template, innerTokens, args; |
| 5147 | if (/\$[^=]/.test(queryValue)) { |
| 5148 | template = true; |
| 5149 | innerTokens = Tokenizer.tokenize(queryValue, true); |
| 5150 | var innerParser = parser.createChildParser(innerTokens); |
| 5151 | args = innerParser.parseStringTemplate(); |
| 5152 | } |
| 5153 | return new _QueryRef(queryValue, args, template); |
| 5154 | } |
| 5155 | resolve(context, { parts } = {}) { |
| 5156 | if (this.template) { |
| 5157 | return new TemplatedQueryElementCollection(this.css, context.me, parts, context.meta.runtime); |
nothing calls this directly
no test coverage detected