evaluateConstraint method
Whether data satisfies the constraint of the node at ref (no
answer always does).
Implementation
bool evaluateConstraint(TreeReference ref, AnswerValue? data) {
if (data == null) return true;
final node = mainInstance.resolveReference(ref)!;
final constraint = node.constraint;
if (constraint is! Constraint) return true;
final ec = EvaluationContext.withContext(evaluationContext, ref)
..isConstraint = true
..candidateValue = data;
final result = constraint.constraint.eval(mainInstance, ec);
publishEvent(EvaluationEvent('Constraint', [(ref: ref, value: result)]));
return result;
}