[Extension] Improve isOnlyEmoji digitRecognizer function

Signed-off-by: Sahil Kumar <[email protected]>
This commit is contained in:
Sahil Kumar
2021-01-15 16:06:36 +05:30
parent a83e8680ef
commit 006b3e21c3
+10 -7
View File
@@ -3,6 +3,9 @@ import 'package:characters/characters.dart';
final _emojis = Emoji.all();
//https://pub.dev/documentation/quiver/latest/quiver.strings/isDigit.html
bool isDigit(int rune) => rune ^ 0x30 <= 9;
extension StringExtension on String {
String capitalize() {
return "${this[0].toUpperCase()}${this.substring(1)}";
@@ -15,14 +18,14 @@ extension StringExtension on String {
final characters = this.trim().characters;
if (characters.isEmpty) return false;
if (characters.length > 3) return false;
final regExp = RegExp('[0-9]');
final containsDigits = characters.any((c) => isDigit(c.runes.first));
if (containsDigits) return false;
return characters.every((c) {
return !regExp.hasMatch(c) &&
_emojis.firstWhere(
(Emoji emoji) => emoji.char.contains(c),
orElse: () => null,
) !=
null;
return _emojis.firstWhere(
(Emoji emoji) => emoji.char.contains(c),
orElse: () => null,
) !=
null;
});
}
}