execute method

  1. @override
String? execute(
  1. Map<String, dynamic> context,
  2. Map<String, dynamic>? params
)
override

Implementation

@override
String? execute(Map<String, dynamic> context, Map<String, dynamic>? params) {
  Map<String, dynamic> state = context['state'] ?? {};
  int score = state['score'] ?? 0;

  List<int> sortedThresholds = scoreRanges.keys.toList()..sort((a, b) => b.compareTo(a));

  for (int threshold in sortedThresholds) {
    if (score >= threshold) {
      return scoreRanges[threshold];
    }
  }

  return defaultNode;
}