function evaluateVariableDeclaration({ node, environment, evaluate, stack, typescript, statementTraversalStack }, initializer) {
    const initializerResult = initializer != null
        ? initializer
        : node.initializer == null
            ? // A VariableDeclaration with no initializer is implicitly bound to 'undefined'
                undefined
            : evaluate.expression(node.initializer, environment, statementTraversalStack);
    // There's no way of destructuring a nullish value
    if (initializerResult == null && !typescript.isIdentifier(node.name)) {
        throw new EvaluationError({ node });
    }
    // Evaluate the binding name
    evaluate.nodeWithArgument(node.name, environment, initializerResult, statementTraversalStack);
    stack.push(initializerResult);
}
/**
 * Evaluates, or attempts to evaluate, a VariableDeclaration
 */
Evaluates, or attempts to evaluate, a VariableDeclaration
Evaluates or attempts to evaluate a VariableDeclaration
function evaluateVariableDeclaration({ node, environment, evaluate, stack, typescript, statementTraversalStack }, initializer) {
    const initializerResult = initializer != null
        ? initializer
        : node.initializer == null
            ? 
                undefined
            : evaluate.expression(node.initializer, environment, statementTraversalStack);
    if (initializerResult == null && !typescript.isIdentifier(node.name)) {
        throw new EvaluationError({ node });
    }
    evaluate.nodeWithArgument(node.name, environment, initializerResult, statementTraversalStack);
    stack.push(initializerResult);
}
function evaluateVariableDeclaration ( { node , environment , evaluate , stack , typescript , statementTraversalStack } , initializer ) { const initializerResult = initializer != null ? initializer : node . initializer == null ? undefined : evaluate . expression ( node . initializer , environment , statementTraversalStack ) ; if ( initializerResult == null && ! typescript . isIdentifier ( node . name ) ) { throw new EvaluationError ( { node } ) ; } evaluate . nodeWithArgument ( node . name , environment , initializerResult , statementTraversalStack ) ; stack . push ( initializerResult ) ; }
Evaluates, or attempts to evaluate, a VariableDeclaration
Evaluates or attempts to evaluate a VariableDeclaration
// A VariableDeclaration with no initializer is implicitly bound to 'undefined' // There's no way of destructuring a nullish value // Evaluate the binding name