evaluate method

  1. @override
bool? evaluate(
  1. QuestionnaireState state
)
override

Implementation

@override
bool? evaluate(QuestionnaireState state) {
  if (!state.hasAnswer<dynamic>(target!)) {
    // Check for dynamic first, then try to parse to num
    return null;
  }
  final dynamic answer = state.getAnswer<dynamic>(target!);
  if (answer is num) {
    return checkValue(answer);
  } else if (answer is String) {
    // Try to parse string answer to num if it's a number
    final parsedAnswer = num.tryParse(answer);
    if (parsedAnswer != null) {
      return checkValue(parsedAnswer);
    }
  }
  return null; // Cannot evaluate if answer is not a number or parsable string
}