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

Method parse

src/parsetree/commands/execution.js:72–94  ·  view source on GitHub ↗
(parser)

Source from the content-addressed store, hash-verified

70 }
71
72 static parse(parser) {
73 if (!parser.matchToken("js")) return;
74 // Parse inputs
75 var inputs = [];
76 if (parser.matchOpToken("(")) {
77 if (parser.matchOpToken(")")) {
78 // empty input list
79 } else {
80 do {
81 var inp = parser.requireTokenType("IDENTIFIER");
82 inputs.push(inp.value);
83 } while (parser.matchOpToken(","));
84 parser.requireOpToken(")");
85 }
86 }
87
88 var jsBody = parser.requireElement("jsBody");
89 parser.matchToken("end");
90
91 var func = new Function(...inputs, jsBody.jsSource);
92
93 return new JsCommand(jsBody.jsSource, func, inputs);
94 }
95
96 resolve(context) {
97 var args = this.inputs.map(input => context.meta.runtime.resolveSymbol(input, context, 'local'));

Callers

nothing calls this directly

Calls 5

matchTokenMethod · 0.45
matchOpTokenMethod · 0.45
requireTokenTypeMethod · 0.45
requireOpTokenMethod · 0.45
requireElementMethod · 0.45

Tested by

no test coverage detected