Files
discord-decomp/sources/modules/emojis/UnicodeEmojis.tsx
T
2026-07-27 16:20:00 +03:00

667 lines
28 KiB
TypeScript

/* Metro module 3797; source: modules/emojis/UnicodeEmojis.tsx; dependencies: [6, 7, 3798, 3799, 3800, 3801, 22, 12710, 2] */
function _fun28940(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#28940, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3924:6, offset: 0x00f87a4e, size: 716 bytes, params: 8, frame: 27
const env0_0 = require;
const _arrayLikeToArray_28943 = function(a0, a1) {
var r0;
var r1;
var r2;
var value3;
var length;
var value5;
var value = undefined;
var value2 = value == null;
reducibleJoin2: while (true) {
if (value2) {
r0 = value2;
break reducibleJoin2;
}
value3 = value > a0.length;
r0 = value3;
break reducibleJoin2;
}
reducibleJoin4: while (true) {
if (r0) {
length = a0.length;
r1 = length;
break reducibleJoin4;
}
r1 = value;
break reducibleJoin4;
}
value = (0, global.Array)(r1);
var value4 = 0;
if (value4 < r1) {
r2 = value4;
reducibleLoop5: while (true) {
value[r2] = a0[r2];
value5 = typeof r2 === 'bigint' ? r2 + 1n : +r2 + 1;
if (value5 < r1) {
r2 = value5;
continue reducibleLoop5;
}
break reducibleLoop5;
}
}
return value;
};
const getEmojiObjectByName = function(a0) {
var r0;
var property = require(dependencyMap[3]).nameToEmoji;
property = property[a0];
var value2 = null;
if (value2 == property) {
r0 = value2;
} else {
property = require(dependencyMap[3]).emojis[property];
r0 = property;
}
return r0;
};
const getEmojiObjectBySurrogate = function(a0) {
var r0;
var property = require(dependencyMap[3]).surrogateToEmoji;
property = property[a0];
var value2 = null;
if (value2 == property) {
r0 = value2;
} else {
property = require(dependencyMap[3]).emojis[property];
r0 = property;
}
return r0;
};
const closure = getByName;
const closure2 = contentHasUnicodeOrEmoji;
const closure3 = findInlineEmojisFromSurrogates;
const closure4 = convertNameToSurrogate;
const closure5 = convertSurrogateToName;
let Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(6) /* metro dependency 6 */;
const env0_4 = importDefault(7) /* metro dependency 7 */;
const twemojiNpm = importDefault(3798) /* metro dependency 3798: twemojiNpm */;
const WeakMap = global.WeakMap;
let weakMap = new WeakMap();
const regexp = RegExp('^:([^\\s:]+?(?:::skin-tone-\\d)?):', '');
const env0_10 = RegExp('[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f\\u270b\\u2b50\\u2728\\u26a1\\u26c5\\u26c4\\u2614\\u2615\\u26bd\\u26be\\u26f3\\u26f5\\u2693\\u26fd\\u26f2\\u26fa\\u26ea\\u231a\\u23f0\\u231b\\u23f3\\u26ce\\u2648\\u2649\\u264a\\u264b\\u264c\\u264d\\u264e\\u264f\\u2650\\u2651\\u2652\\u2653\\u270a\\u274c\\u2b55\\u26d4\\u2757\\u2755\\u2753\\u2754\\u2705\\u274e\\u267f\\u23e9\\u23ea\\u23eb\\u23ec\\u2795\\u2796\\u2797\\u27b0\\u27bf\\u26aa\\u26ab\\u25fe\\u25fd\\u2b1b\\u2b1c\\u26a7]',
'');
const env0_11 = RegExp('\\ud83c[\\udffb-\\udfff](?=\\ud83c[\\udffb-\\udfff])|(?:[^\\ud800-\\udfff][\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]?|[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff]|[\\ud800-\\udfff])[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?(?:\\u200d(?:[^\\ud800-\\udfff]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?)*',
'g');
weakMap = _fun28953();
const Map = global.Map;
const map = new Map();
let String = global.String;
const env0_14 = String.fromCodePoint(917631);
String = global.String;
const env0_15 = String.fromCodePoint(127988);
const env0_16 = RegExp('^(?:\\uDB40[\\uDC61-\\uDC7A])$', '');
const object = {getDefaultDiversitySurrogate: getDefaultDiversitySurrogate,
setDefaultDiversitySurrogate: setDefaultDiversitySurrogate, getCategories: function() {
var Object = global.Object;
return Object.keys(require(dependencyMap[3]).emojisByCategory);
}, getByName: closure, getByCategory: getByCategory, contentHasUnicodeOrEmoji: closure2,
translateInlineEmojiToSurrogates: translateInlineEmojiToSurrogates,
maybeTranslateSurrogatesToInlineEmoji: maybeTranslateSurrogatesToInlineEmoji,
findInlineEmojisFromSurrogates: closure3, translateSurrogatesToInlineEmoji: translateSurrogatesToInlineEmoji,
convertNameToSurrogate: closure4, convertSurrogateToName: closure5,
convertShortcutToName: convertShortcutToName, convertSurrogateToBase: convertSurrogateToBase,
forEach: function(a0) {
var r2;
var r1;
var value4;
var hasDiversityParent;
var hasMultiDiversityParent;
var value5;
var value2 = _createForOfIteratorHelperLoose_28941(require(dependencyMap[3]).emojis);
var value3 = value2();
if (!value3.done) {
r2 = value3;
while (true) {
value4 = r2.value;
hasDiversityParent = value4.hasDiversityParent;
if (hasDiversityParent) {
r1 = hasDiversityParent;
} else {
hasMultiDiversityParent = value4.hasMultiDiversityParent;
r1 = hasMultiDiversityParent;
}
if (r1) {
continue;
}
a0(parseRawEmojiObject(value4));
value5 = value2();
if (value5.done) {
break;
}
r2 = value5;
continue;
}
}
}};
object.numDiversitySprites = (require(3799) /* metro dependency 3799 */).numDiversitySprites;
object.numNonDiversitySprites = (require(3799) /* metro dependency 3799 */).numNonDiversitySprites;
object.EMOJI_NAME_RE = RegExp('^:([^\\s:]+?(?:::skin-tone-\\d)?):', '');
object.EMOJI_NAME_AND_DIVERSITY_RE = regexp;
object.EMOJI_SHORTCUT_RE = RegExp('^(>:\\(|>:\\-\\(|>=\\(|>=\\-\\(|:"\\)|:\\-"\\)|="\\)|=\\-"\\)|<\\/3|<\\\\3|:\\-\\\\|:\\-\\/|=\\-\\\\|=\\-\\/|:\'\\(|:\'\\-\\(|:,\\(|:,\\-\\(|=\'\\(|=\'\\-\\(|=,\\(|=,\\-\\(|:\\(|:\\-\\(|=\\(|=\\-\\(|<3|♡|\\]:\\(|\\]:\\-\\(|\\]=\\(|\\]=\\-\\(|o:\\)|O:\\)|o:\\-\\)|O:\\-\\)|0:\\)|0:\\-\\)|o=\\)|O=\\)|o=\\-\\)|O=\\-\\)|0=\\)|0=\\-\\)|:\'D|:\'\\-D|:,D|:,\\-D|=\'D|=\'\\-D|=,D|=,\\-D|:\\*|:\\-\\*|=\\*|=\\-\\*|x\\-\\)|X\\-\\)|:\\||:\\-\\||=\\||=\\-\\||:o|:\\-o|:O|:\\-O|=o|=\\-o|=O|=\\-O|:@|:\\-@|=@|=\\-@|:D|:\\-D|=D|=\\-D|:\'\\)|:\'\\-\\)|:,\\)|:,\\-\\)|=\'\\)|=\'\\-\\)|=,\\)|=,\\-\\)|:\\)|:\\-\\)|=\\)|=\\-\\)|\\]:\\)|\\]:\\-\\)|\\]=\\)|\\]=\\-\\)|:,\'\\(|:,\'\\-\\(|;\\(|;\\-\\(|=,\'\\(|=,\'\\-\\(|:P|:\\-P|=P|=\\-P|8\\-\\)|B\\-\\)|,:\\(|,:\\-\\(|,=\\(|,=\\-\\(|,:\\)|,:\\-\\)|,=\\)|,=\\-\\)|:s|:\\-S|:z|:\\-Z|:\\$|:\\-\\$|=s|=\\-S|=z|=\\-Z|=\\$|=\\-\\$|;\\)|;\\-\\))',
'');
object.hasSurrogates = hasSurrogates;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/emojis/UnicodeEmojis.tsx');
exports.default = object;
exports.DIVERSITY_SURROGATES = ['🏻', '🏼', '🏽', '🏾', '🏿'];
exports.Emoji = weakMap;
exports.asUnicodeEmoji = function(a0) {
var value = null;
return value == a0.id && value != a0.name && a0.name.length > 0 ? {name: a0.name, id: value} : value;
};
}
function _createForOfIteratorHelperLoose_28941(a0, a1) { // fn#28941, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3924:134, offset: 0x00f87d1a, size: 370 bytes, params: 3, frame: 20
var r6;
var r9;
var r5;
var value3;
var regexp;
const env0_0 = a0;
const Symbol = global.Symbol;
let value = typeof Symbol !== 'undefined';
let r1 = value && a0[global.Symbol.iterator];
r1 = !r1 ? a0['@@iterator'] : r1;
if (r1) {
value = r1.call(a0);
return value.next.bind(value);
}
const Array = global.Array;
if (Array.isArray(a0)) {
if (r1) {
}
return _fun28942;
}
value = undefined;
if (a0) {
if (typeof a0 === 'string') {
value = _arrayLikeToArray_28943(a0, value);
r5 = value;
} else {
value3 = ({}).toString.call(a0).slice(8, -1);
r6 = value3 === 'Object' && a0.constructor;
r9 = r6 ? a0.constructor.name : value3;
if (r9 === 'Map') {
r6 = global.Array.from(a0);
} else if (r9 === 'Set') {
r6 = global.Array.from(a0);
} else if (r9 === 'Arguments') {
value = _arrayLikeToArray_28943(a0, value);
r6 = value;
} else {
regexp = RegExp('^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$', '');
if (regexp.test(r9)) {
value = _arrayLikeToArray_28943(a0, value);
r6 = value;
} else {
r6 = value;
}
}
r5 = r6;
}
} else {
r5 = value;
}
if (r5) {
if (r5) {
}
return _fun28942;
}
const TypeError = global.TypeError;
throw new TypeError('Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.');
}
function parseRawEmojiObject(a0) { // fn#28946, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3924:4271, offset: 0x00f87f24, size: 72 bytes, params: 2, frame: 14
const value2 = env0_7.get(a0);
if (value2 != null) {
return value2;
}
const env0_122 = new env0_12(a0);
env0_7.set(a0, env0_122);
return env0_122;
}
function getByName(a0) { // fn#28947, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3924:4373, offset: 0x00f87f6c, size: 37 bytes, params: 2, frame: 13
const emojiObjectByName = getEmojiObjectByName(a0);
const value3 = null;
return value3 != emojiObjectByName ? parseRawEmojiObject(emojiObjectByName) : value3;
}
function contentHasUnicodeOrEmoji(a0) { // fn#28948, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3924:4482, offset: 0x00f87f91, size: 22 bytes, params: 2, frame: 11
return env0_10.test(a0);
}
function emojiNameOrUnicodeSequence(a0) { // fn#28949, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3924:4536, offset: 0x00f87fa7, size: 105 bytes, params: 2, frame: 14
const getEmojiObjectBySurrogateBinding = getEmojiObjectBySurrogate;
const value = undefined;
const emojiObjectBySurrogateBinding = getEmojiObjectBySurrogateBinding(a0);
const r4 = emojiObjectBySurrogateBinding == null ? value : emojiObjectBySurrogateBinding.names[0];
return r4 != null ? {type: 'emoji', surrogate: a0, emojiName: ':' + r4 + ':'} : {type: 'text', text: a0};
}
function findInlineEmojisFromSurrogates(a0, a1) { // fn#28950, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3924:4820, offset: 0x00f88010, size: 405 bytes, params: 3, frame: 30
var r14;
var r9;
var r10;
var r18;
var r19;
var r15;
var r3;
var r2;
var property;
var binding;
var test;
var push;
var value5;
var value6;
var value7;
var type;
var text;
var text2;
var value8;
var value10;
if (a1 !== true) {
reducibleJoin3: while (true) {
if (!contentHasUnicodeOrEmoji(a0)) {
return [{type: 'text', text: a0}];
}
break reducibleJoin3;
}
}
const items = [];
const value2 = a0.match(env0_11);
reducibleJoin5: while (true) {
if (value2 != null) {
r14 = value2;
break reducibleJoin5;
}
r14 = [];
break reducibleJoin5;
}
let length = r14.length;
const value3 = 0;
const value4 = '';
if (value3 < length) {
r9 = value3;
r10 = value4;
reducibleLoop6: while (true) {
property = r14[r9];
reducibleJoin19: while (true) {
reducibleJoin8: while (true) {
if (r10 == null) {
break reducibleJoin8;
}
if (value4 !== r10) {
if (property === env0_14) {
value6 = r10 + property;
r18 = value6;
r19 = value4;
} else {
binding = env0_16;
test = binding.test;
if (Reflect.apply(test, binding, [property])) {
value5 = r10 + property;
r15 = value5;
break reducibleJoin19;
}
items.push(emojiNameOrUnicodeSequence(r10));
r18 = property;
r19 = value4;
}
value7 = emojiNameOrUnicodeSequence(r18);
length = items.length;
if (length > value3) {
length = items.length;
property = items[length - 1];
type = value7.type;
if (type === 'text') {
type = property.type;
if (type === 'text') {
text = property.text;
text2 = value7.text;
property.text = text + text2;
r15 = r19;
break reducibleJoin19;
}
}
}
push = items.push;
Reflect.apply(push, items, [value7]);
r15 = r19;
break reducibleJoin19;
}
break reducibleJoin8;
}
if (property === env0_15) {
r15 = property;
break reducibleJoin19;
}
r18 = property;
r19 = r10;
value7 = emojiNameOrUnicodeSequence(r18);
length = items.length;
if (length > value3) {
length = items.length;
property = items[length - 1];
type = value7.type;
if (type === 'text') {
type = property.type;
if (type === 'text') {
text = property.text;
text2 = value7.text;
property.text = text + text2;
r15 = r19;
break reducibleJoin19;
}
}
}
push = items.push;
Reflect.apply(push, items, [value7]);
r15 = r19;
break reducibleJoin19;
}
value8 = typeof r9 === 'bigint' ? r9 + 1n : +r9 + 1;
length = r14.length;
if (value8 < length) {
r9 = value8;
r10 = r15;
continue reducibleLoop6;
}
r3 = r15;
break reducibleLoop6;
}
} else {
r3 = value4;
}
const value9 = r3 != null;
reducibleJoin22: while (true) {
if (value9) {
value10 = value4 !== r3;
r2 = value10;
break reducibleJoin22;
}
r2 = value9;
break reducibleJoin22;
}
reducibleJoin24: while (true) {
if (r2) {
push = items.push;
Reflect.apply(push, items, [emojiNameOrUnicodeSequence(r3)]);
break reducibleJoin24;
}
break reducibleJoin24;
}
return items;
}
function convertNameToSurrogate(a0) { // fn#28951, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3924:5367, offset: 0x00f881a5, size: 53 bytes, params: 2, frame: 13
let value = a1;
const value2 = undefined;
let r0 = value !== value2 ? value : '';
value = getEmojiObjectByName(a0);
r0 = (value == null ? value2 : value.surrogates) ?? r0;
return r0;
}
function convertSurrogateToName(a0) { // fn#28952, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3924:5490, offset: 0x00f881da, size: 97 bytes, params: 2, frame: 15
let value = a1;
const value2 = a2;
const value3 = undefined;
const r1 = !(value !== value3) || value;
let r3 = value2 !== value3 ? value2 : '';
value = getEmojiObjectBySurrogate(a0);
r3 = (value == null ? value3 : value.names[0]) ?? r3;
return r1 ? ':' + r3 + ':' : r3;
}
function _fun28953() { // fn#28953, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3924:2298, offset: 0x00f8823b, size: 383 bytes, params: 1, frame: 15
return env0_4(Emoji_28954, [{key: 'names', get: function() {
return this.emojiObject.names;
}}, {key: 'allNamesString', get: function() {
var r0;
var value;
if (this.names.length > 1) {
value = this.names.join(': :');
value = ':' + value + ':';
r0 = value;
} else {
r0 = ':' + this.uniqueName + ':';
}
return r0;
}}, {key: 'unicodeVersion', get: function() {
return this.emojiObject.unicodeVersion ?? 0;
}}, {key: 'hasDiversity', get: function() {
return this.emojiObject.hasDiversity;
}}, {key: 'hasMultiDiversity', get: function() {
return this.emojiObject.hasMultiDiversity;
}}, {key: 'hasDiversityParent', get: function() {
return this.emojiObject.hasDiversityParent;
}}, {key: 'hasMultiDiversityParent', get: function() {
return this.emojiObject.hasMultiDiversityParent;
}}, {key: 'managed', get: function() {
return true;
}}, {key: 'animated', get: function() {
return false;
}}, {key: 'defaultDiversityChild', get: get_28964}, {key: 'url', get: get_28965}, {key: 'name', get: get_28966},
{key: 'optionallyDiverseSequence', get: function() {
var property = this.defaultDiversityChild;
return property != null ? property.surrogates : this.surrogates;
}}, {key: 'forEachDiversity', value: value_28968}, {key: 'forEachName', value: value_28969}]);
}
function setDefaultDiversitySurrogate(a0) { // fn#28971, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3924:5751, offset: 0x00f88746, size: 38 bytes, params: 2, frame: 4
const value = a0;
const value2 = null;
const r1 = value2 != value ? value === '' ? value2 : value : value2;
}
function getByCategory(a0) { // fn#28973, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3924:5938, offset: 0x00f8879f, size: 161 bytes, params: 2, frame: 19
var r0;
var property;
var defaultImport;
var filterUnsupportedEmojis;
var emojis;
var value3;
var value4;
const value2 = env0_13.get(a0);
if (value2 != null) {
r0 = value2;
} else {
property = (require(3799) /* metro dependency 3799 */).emojisByCategory[a0];
defaultImport = importDefault(3801) /* metro dependency 3801: EmojiUtils */;
filterUnsupportedEmojis = defaultImport.filterUnsupportedEmojis;
emojis = (require(3799) /* metro dependency 3799 */).emojis;
value3 = Reflect.apply(filterUnsupportedEmojis, defaultImport, [emojis.slice(property[0], property[1])]);
value4 = value3.map(parseRawEmojiObject);
env0_13.set(a0, value4);
r0 = value4;
}
return r0;
}
function translateInlineEmojiToSurrogates(a0) { // fn#28974, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3924:6224, offset: 0x00f88840, size: 30 bytes, params: 2, frame: 13
return a0.replace(env0_9, function(a0, a1) {
return convertNameToSurrogate(a1, a0);
});
}
function maybeTranslateSurrogatesToInlineEmoji(a0) { // fn#28976, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3924:6365, offset: 0x00f88875, size: 78 bytes, params: 2, frame: 13
var value;
if (contentHasUnicodeOrEmoji(a0)) {
value = findInlineEmojisFromSurrogates(a0, true);
value = value.map(function(a0) {
return a0.type === 'text' ? a0.text : a0.emojiName;
});
value = value.join('');
return value === a0 ? null : value;
}
return null;
}
function translateSurrogatesToInlineEmoji(a0) { // fn#28978, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3924:6672, offset: 0x00f888e2, size: 50 bytes, params: 2, frame: 11
let value = findInlineEmojisFromSurrogates(a0);
value = value.map(function(a0) {
return a0.type === 'text' ? a0.text : a0.emojiName;
});
return value.join('');
}
function convertShortcutToName(a0) { // fn#28980, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3924:6927, offset: 0x00f88914, size: 131 bytes, params: 2, frame: 20
const value = a1;
const value2 = a2;
const r2 = !(value !== undefined) || value;
let r3 = value2 !== undefined ? value2 : '';
const Object = global.Object;
const hasOwnProperty = Object.prototype.hasOwnProperty;
r3 = hasOwnProperty.call(require(12710) /* metro dependency 12710 */,
a0) ? (require(12710) /* metro dependency 12710 */)[a0] : r3;
return r2 ? ':' + r3 + ':' : r3;
}
function convertSurrogateToBase(a0) { // fn#28981, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3924:7089, offset: 0x00f88997, size: 54 bytes, params: 2, frame: 15
return getByName(convertSurrogateToName(env0_8.reduce(function(a0, a1) {
return a0.replace(a1, '');
}, a0), false));
}
function hasSurrogates(a0) { // fn#28984, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3924:8292, offset: 0x00f88a50, size: 59 bytes, params: 2, frame: 11
let value = importDefault(22) /* metro dependency 22 */;
value = value.toArray(a0);
return value.some(function(a0) {
return require(dependencyMap[3]).surrogateToEmoji[a0] != null;
});
}
function Emoji_28954(a0) { // fn#28954, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3924:2319, offset: 0x00f883ba, size: 267 bytes, params: 2, frame: 23
var r2;
var _createForOfIteratorHelperLoose_28941Binding;
var value3;
var value4;
var done;
var value5;
var emojis;
var property;
var diversity;
var value6;
var prototype;
var value7;
var emoji_28954;
var value8;
var value9;
env1_3(this, Emoji_28954);
this.emojiObject = a0;
const EmojiTypes = (require(3800) /* metro dependency 3800: EmojiTypes */).EmojiTypes;
const UNICODE = EmojiTypes.UNICODE;
this.type = UNICODE;
this.uniqueName = a0.names[0];
this.surrogates = a0.surrogates;
this.diversityChildren = {};
let diversityChildren = a0.diversityChildren;
if (diversityChildren != null) {
_createForOfIteratorHelperLoose_28941Binding = _createForOfIteratorHelperLoose_28941;
diversityChildren = a0.diversityChildren;
value3 = _createForOfIteratorHelperLoose_28941Binding(diversityChildren);
value4 = value3();
done = value4.done;
if (!done) {
r2 = value4;
while (true) {
value5 = r2.value;
emojis = (require(3799) /* metro dependency 3799 */).emojis;
property = emojis[value5];
diversity = property.diversity;
if (diversity != null) {
diversity = property.diversity;
value6 = diversity.join('-');
diversityChildren = this.diversityChildren;
prototype = Emoji_28954.prototype;
value7 = Object.create(prototype, {constructor: {value: Emoji_28954}});
emoji_28954 = new Emoji_28954();
value8 = emoji_28954 instanceof Object ? emoji_28954 : value7;
diversityChildren[value6] = value8;
}
value9 = value3();
done = value9.done;
if (done) {
break;
}
r2 = value9;
continue;
}
}
}
}
function get_28964() { // fn#28964, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3924:3462, offset: 0x00f88597, size: 80 bytes, params: 1, frame: 13
var value;
if (this.hasDiversity) {
value = environment.__proto__;
if (env1_6 != null) {
return this.diversityChildren[twemojiNpm.convert.toCodePoint(env1_6) ?? ''];
}
}
return null;
}
function get_28965() { // fn#28965, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3924:3667, offset: 0x00f885e7, size: 101 bytes, params: 1, frame: 13
var r0;
var value;
const defaultDiversityChild = this.defaultDiversityChild;
if (defaultDiversityChild != null) {
value = environment.__proto__;
value = importDefault(3801) /* metro dependency 3801: EmojiUtils */;
value = value.getURL(defaultDiversityChild.surrogates);
r0 = value;
} else {
value = environment.__proto__;
value = importDefault(3801) /* metro dependency 3801: EmojiUtils */;
value = value.getURL(this.surrogates);
r0 = value;
}
return r0;
}
function get_28966() { // fn#28966, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3924:3807, offset: 0x00f8864c, size: 106 bytes, params: 1, frame: 16
var r0;
var value;
var uniqueName;
var getEmojiObjectBySurrogateBinding;
var emojiObjectBySurrogateBinding;
if (this.hasDiversity) {
value = environment.__proto__;
if (env1_6 != null) {
uniqueName = this.uniqueName;
getEmojiObjectBySurrogateBinding = getEmojiObjectBySurrogate;
value = undefined;
emojiObjectBySurrogateBinding = getEmojiObjectBySurrogateBinding(env1_6);
value = '' + uniqueName + '::' + (emojiObjectBySurrogateBinding == null ? value : emojiObjectBySurrogateBinding.names[0]);
r0 = value;
} else {
r0 = this.uniqueName;
}
} else {
r0 = this.uniqueName;
}
return r0;
}
function value_28968(a0) { // fn#28968, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3924:4115, offset: 0x00f886d3, size: 65 bytes, params: 2, frame: 13
var value;
if (this.diversityChildren != null) {
value = environment.__proto__;
value = importDefault(22) /* metro dependency 22 */;
value.each(this.diversityChildren, a0);
}
}
function value_28969(a0) { // fn#28969, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3924:4224, offset: 0x00f88714, size: 50 bytes, params: 2, frame: 14
let value = environment.__proto__;
value = importDefault(22) /* metro dependency 22 */;
value.each(this.names, a0);
}