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

Method parse

src/parsetree/commands/basic.js:571–616  ·  view source on GitHub ↗
(parser)

Source from the content-addressed store, hash-verified

569 }
570
571 static parse(parser) {
572 if (!parser.matchToken("fetch")) return;
573
574 parser.pushFollow("as");
575 try {
576 var url = parser.parseURLOrExpression();
577 } finally {
578 parser.popFollow();
579 }
580
581 if (parser.matchToken("as")) {
582 var conversionInfo = FetchCommand.parseConversionInfo(parser);
583 }
584
585 if (parser.matchToken("with") && parser.currentToken().value !== "{") {
586 var argExprs = parser.parseElement("nakedNamedArgumentList");
587 } else {
588 var argExprs = parser.parseElement("objectLiteral");
589 }
590
591 if (conversionInfo == null && parser.matchToken("as")) {
592 conversionInfo = FetchCommand.parseConversionInfo(parser);
593 }
594
595 var dontThrow = false;
596 if (parser.matchToken("do")) {
597 parser.requireToken("not");
598 parser.requireToken("throw");
599 dontThrow = true;
600 } else if (parser.currentToken().value === "don" &&
601 parser.token(1).value === "'" &&
602 parser.token(2).value === "t" &&
603 parser.token(1).start === parser.currentToken().end &&
604 parser.token(2).start === parser.token(1).end) {
605 parser.consumeToken(); // don
606 parser.consumeToken(); // '
607 parser.consumeToken(); // t
608 parser.requireToken("throw");
609 dontThrow = true;
610 }
611
612 var type = conversionInfo ? conversionInfo.type : "text";
613 var conversion = conversionInfo ? conversionInfo.conversion : null;
614
615 return new FetchCommand(url, argExprs, type, conversion, dontThrow);
616 }
617
618 resolve(context, { url, options }) {
619 var detail = options || {};

Callers

nothing calls this directly

Calls 10

matchTokenMethod · 0.45
pushFollowMethod · 0.45
parseURLOrExpressionMethod · 0.45
popFollowMethod · 0.45
parseConversionInfoMethod · 0.45
currentTokenMethod · 0.45
parseElementMethod · 0.45
requireTokenMethod · 0.45
tokenMethod · 0.45
consumeTokenMethod · 0.45

Tested by

no test coverage detected