decision property

ChatPermissionDecision? get decision

Implementation

ChatPermissionDecision? get decision {
  final explicit = explicitDecision;
  if (explicit != null) return explicit;
  final words = name
      .trim()
      .toLowerCase()
      .split(RegExp(r'[^a-z0-9]+'))
      .where((word) => word.isNotEmpty)
      .toSet();
  final looksDenied =
      words.any(_denyPermissionKeywords.contains) ||
      name.toLowerCase().contains("don't allow") ||
      name.toLowerCase().contains('do not allow');
  if (looksDenied) return ChatPermissionDecision.deny;
  if (words.any(_allowPermissionKeywords.contains)) {
    return ChatPermissionDecision.allow;
  }
  return null;
}