modify static method
Modify skin tone of emoji
by requested skinTone
Implementation
static String modify(String emoji, fitzpatrick skinTone) {
int skinToneCharCode;
switch (skinTone) {
case fitzpatrick.light:
skinToneCharCode = 127995;
break;
case fitzpatrick.mediumLight:
skinToneCharCode = 127996;
break;
case fitzpatrick.medium:
skinToneCharCode = 127997;
break;
case fitzpatrick.mediumDark:
skinToneCharCode = 127998;
break;
case fitzpatrick.dark:
skinToneCharCode = 127999;
break;
case fitzpatrick.None:
return stabilize(emoji);
}
final emojiRunes = emoji.runes.toList();
List<int> finalCharCodes = [];
for (final charCode in emojiRunes) {
if (!_isFitzpatrickCode(charCode)) {
finalCharCodes.add(charCode);
if (_isModifiable(charCode)) {
finalCharCodes.add(skinToneCharCode);
}
}
}
return String.fromCharCodes(finalCharCodes);
}