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

Method parse

www/js/_hyperscript.esm.js:6152–6186  ·  view source on GitHub ↗
(parser)

Source from the content-addressed store, hash-verified

6150 return { type, conversion };
6151 }
6152 static parse(parser) {
6153 if (!parser.matchToken("fetch")) return;
6154 parser.pushFollow("as");
6155 try {
6156 var url = parser.parseURLOrExpression();
6157 } finally {
6158 parser.popFollow();
6159 }
6160 if (parser.matchToken("as")) {
6161 var conversionInfo = _FetchCommand.parseConversionInfo(parser);
6162 }
6163 if (parser.matchToken("with") && parser.currentToken().value !== "{") {
6164 var argExprs = parser.parseElement("nakedNamedArgumentList");
6165 } else {
6166 var argExprs = parser.parseElement("objectLiteral");
6167 }
6168 if (conversionInfo == null && parser.matchToken("as")) {
6169 conversionInfo = _FetchCommand.parseConversionInfo(parser);
6170 }
6171 var dontThrow = false;
6172 if (parser.matchToken("do")) {
6173 parser.requireToken("not");
6174 parser.requireToken("throw");
6175 dontThrow = true;
6176 } else if (parser.currentToken().value === "don" && parser.token(1).value === "'" && parser.token(2).value === "t" && parser.token(1).start === parser.currentToken().end && parser.token(2).start === parser.token(1).end) {
6177 parser.consumeToken();
6178 parser.consumeToken();
6179 parser.consumeToken();
6180 parser.requireToken("throw");
6181 dontThrow = true;
6182 }
6183 var type = conversionInfo ? conversionInfo.type : "text";
6184 var conversion = conversionInfo ? conversionInfo.conversion : null;
6185 return new _FetchCommand(url, argExprs, type, conversion, dontThrow);
6186 }
6187 resolve(context, { url, options }) {
6188 var detail = options || {};
6189 detail.sender = context.me;

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