aves_mio/lib/utils/emoji_utils.dart
Fabio Micheluz 2c988f959b
Some checks are pending
Quality check / Flutter analysis (push) Waiting to run
Quality check / CodeQL analysis (java-kotlin) (push) Waiting to run
first commit
2026-02-19 13:25:23 +01:00

22 lines
862 B
Dart

import 'package:aves/ref/unicode.dart';
class EmojiUtils {
static const _countryCodeToFlagDiff = UniCodes.regionalIndicatorSymbolLetterA - UniCodes.latinCapitalLetterA;
static const _stateCodeToFlagDiff = UniCodes.tagLatinSmallLetterA - UniCodes.latinCapitalLetterA;
static const _subFlagStart = UniCodes.wavingBlackFlag;
static const _subFlagEnd = UniCodes.cancelTag;
static String? countryCodeToFlag(String? code) {
if (code == null || code.length != 2) return null;
return String.fromCharCodes(code.toUpperCase().codeUnits.map((letter) => letter += _countryCodeToFlagDiff));
}
static String? stateCodeToFlag(String? code) {
if (code == null) return null;
return String.fromCharCodes([
_subFlagStart,
...code.toUpperCase().codeUnits.map((letter) => letter += _stateCodeToFlagDiff),
_subFlagEnd,
]);
}
}