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

Method parse

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

Source from the content-addressed store, hash-verified

4814 this.args = { lhs, rhs };
4815 }
4816 static parse(parser) {
4817 var expr = parser.parseElement("comparisonOperator");
4818 var logicalOp, initialLogicalOp = null;
4819 logicalOp = parser.matchToken("and") || parser.matchToken("or");
4820 while (logicalOp) {
4821 initialLogicalOp = initialLogicalOp || logicalOp;
4822 if (initialLogicalOp.value !== logicalOp.value) {
4823 parser.raiseError("You must parenthesize logical operations with different operators");
4824 }
4825 var rhs = parser.requireElement("comparisonOperator");
4826 const operator = logicalOp.value;
4827 expr = new _LogicalOperator(expr, operator, rhs);
4828 logicalOp = parser.matchToken("and") || parser.matchToken("or");
4829 }
4830 return expr;
4831 }
4832 resolve(context, { lhs: lhsVal, rhs: rhsVal }) {
4833 if (this.operator === "and") {
4834 return lhsVal && rhsVal;

Callers

nothing calls this directly

Calls 4

parseElementMethod · 0.45
matchTokenMethod · 0.45
raiseErrorMethod · 0.45
requireElementMethod · 0.45

Tested by

no test coverage detected