replaceEmoji function

Future<bool> replaceEmoji({
  1. String? emojiToReplace,
  2. String newEmoji = "",
  3. int limit = 5,
  4. dynamic onReplaced(
    1. String
    )?,
})

Implementation

Future<bool> replaceEmoji(
    {String? emojiToReplace,
    String newEmoji = "",
    int limit = 5,
    Function(String)? onReplaced}) async {
  if (emojiToReplace == null) return false;
  List<String> reactions =
      (await ReactionProvider.instance.getCustomReactions())
          .map((e) => e.emoji)
          .take(limit)
          .toList();
  if (reactions.contains(newEmoji)) {
    return false;
  }
  await ReactionProvider.instance.insertCustomReactions(
      Reaction(
          emoji: newEmoji, timestamp: DateTime.now().millisecondsSinceEpoch),
      replace: emojiToReplace);
  onReplaced!(emojiToReplace);
  return true;
}