evaluate method

Result? evaluate(
  1. String audience,
  2. Map<String, dynamic>? attributes
)

Implementation

Result? evaluate(String audience, Map<String, dynamic>? attributes) {
  if (audience.isEmpty || audience == 'null' || audience == '{}') {
    return null;
  }

  try {
    final bytes = utf8.encode(audience);
    final audienceMap = deserializer_.deserialize(bytes, 0, bytes.length);
    if (audienceMap != null) {
      final filter = audienceMap['filter'];
      if (filter is Map || filter is List) {
        return Result(
            jsonExpr_.evaluateBooleanExpr(filter, attributes ?? {}));
      }
    }
  } on FormatException {
    // Handle invalid JSON
    return null;
  } catch (e) {
    // Silently handle any other errors
  }

  return null;
}