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

Method parse

www/js/_hyperscript-max.js:5419–5459  ·  view source on GitHub ↗
(parser)

Source from the content-addressed store, hash-verified

5417 this.args = { thing: thingElt, from, inElt, withinElt };
5418 }
5419 static parse(parser) {
5420 var op = parser.matchAnyToken("next", "previous");
5421 if (!op) return;
5422 var forwardSearch = op.value === "next";
5423 var thingElt = parser.parseElement("leaf");
5424 if (parser.matchToken("from")) {
5425 parser.pushFollow("in");
5426 try {
5427 var from = parser.requireElement("unaryExpression");
5428 } finally {
5429 parser.popFollow();
5430 }
5431 } else {
5432 var from = parser.requireElement("implicitMeTarget");
5433 }
5434 var inSearch = false;
5435 var withinElt;
5436 if (parser.matchToken("in")) {
5437 inSearch = true;
5438 var inElt = parser.requireElement("unaryExpression");
5439 } else if (parser.matchToken("within")) {
5440 withinElt = parser.requireElement("unaryExpression");
5441 } else {
5442 withinElt = null;
5443 }
5444 var wrapping = false;
5445 if (parser.matchToken("with")) {
5446 parser.requireToken("wrapping");
5447 wrapping = true;
5448 }
5449 return new _RelativePositionalExpression(
5450 thingElt,
5451 from,
5452 forwardSearch,
5453 inSearch,
5454 wrapping,
5455 inElt,
5456 withinElt,
5457 op.value
5458 );
5459 }
5460 scanForwardQuery(start, root, match, wrap) {
5461 var results = root.querySelectorAll(match);
5462 for (var i = 0; i < results.length; i++) {

Callers

nothing calls this directly

Calls 7

matchAnyTokenMethod · 0.45
parseElementMethod · 0.45
matchTokenMethod · 0.45
pushFollowMethod · 0.45
requireElementMethod · 0.45
popFollowMethod · 0.45
requireTokenMethod · 0.45

Tested by

no test coverage detected