function evaluateIfStatement({ node, environment, evaluate, statementTraversalStack }) {
    const expressionValue = evaluate.expression(node.expression, environment, statementTraversalStack);
    // We have to perform a loose boolean expression here to conform with actual spec behavior
    // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions
    if (expressionValue) {
        // Proceed with the truthy branch
        evaluate.statement(node.thenStatement, environment);
    }
    // Proceed with the falsy branch
    else if (node.elseStatement != null) {
        return evaluate.statement(node.elseStatement, environment);
    }
}
/**
 * Evaluates, or attempts to evaluate, an IfStatement
 */
Evaluates, or attempts to evaluate, an IfStatement
Evaluates or attempts to evaluate an IfStatement
function evaluateIfStatement({ node, environment, evaluate, statementTraversalStack }) {
    const expressionValue = evaluate.expression(node.expression, environment, statementTraversalStack);
    if (expressionValue) {
        evaluate.statement(node.thenStatement, environment);
    }
    else if (node.elseStatement != null) {
        return evaluate.statement(node.elseStatement, environment);
    }
}
function evaluateIfStatement ( { node , environment , evaluate , statementTraversalStack } ) { const expressionValue = evaluate . expression ( node . expression , environment , statementTraversalStack ) ; if ( expressionValue ) { evaluate . statement ( node . thenStatement , environment ) ; } else if ( node . elseStatement != null ) { return evaluate . statement ( node . elseStatement , environment ) ; } }
Evaluates, or attempts to evaluate, an IfStatement
Evaluates or attempts to evaluate an IfStatement
// We have to perform a loose boolean expression here to conform with actual spec behavior // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions // Proceed with the truthy branch // Proceed with the falsy branch