* Returns evaluation result. * @param {string} source source code * @returns {BasicEvaluatedExpression} evaluation result
(source)
| 5070 | * @returns {BasicEvaluatedExpression} evaluation result |
| 5071 | */ |
| 5072 | evaluate(source) { |
| 5073 | const { ast } = JavascriptParser._parse( |
| 5074 | `(${source})`, |
| 5075 | { sourceType: this.sourceType }, |
| 5076 | this.options.parse |
| 5077 | ); |
| 5078 | if (ast.body.length !== 1 || ast.body[0].type !== "ExpressionStatement") { |
| 5079 | throw new Error("evaluate: Source is not a expression"); |
| 5080 | } |
| 5081 | return this.evaluateExpression(ast.body[0].expression); |
| 5082 | } |
| 5083 | |
| 5084 | /** |
| 5085 | * Checks whether this javascript parser is pure. |
no test coverage detected