evaluateCondition method

FutureOr<bool> evaluateCondition(
  1. VMContext parentContext,
  2. ASTRunStatus runStatus,
  3. ASTExpression condition
)

Implementation

FutureOr<bool> evaluateCondition(VMContext parentContext,
    ASTRunStatus runStatus, ASTExpression condition) async {
  var evaluation = await condition.run(parentContext, runStatus);
  var evalValue = await evaluation.getValue(parentContext);

  if (evalValue is! bool) {
    throw ApolloVMRuntimeError(
        'A branch condition should return a boolean: $evalValue');
  }

  return evalValue;
}