/* Metro module 3797; source: modules/emojis/UnicodeEmojis.tsx; dependencies: [6, 7, 3798, 3799, 3800, 3801, 22, 12710, 2] */ import ClassCallCheck from '../../by-id/module-00006-ClassCallCheck.js'; /* Metro dependency 6 */ import CreateClass from '../../by-id/module-00007-CreateClass.js'; /* Metro dependency 7 */ import Module00022 from '../../by-id/module-00022.js'; /* Metro dependency 22 */ import TwemojiNpm from '../../external/node_modules/.pnpm/@discordapp_twemoji@16.0.1/node_modules/@discordapp/twemoji/dist/twemoji.npm.js'; /* Metro dependency 3798 */ import * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */ import * as EmojiTypesModule from './EmojiTypes.tsx'; /* Metro dependency 3800 */ 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 getByName2 = getByName; const contentHasUnicodeOrEmoji2 = contentHasUnicodeOrEmoji; const findInlineEmojisFromSurrogates2 = findInlineEmojisFromSurrogates; const convertNameToSurrogate2 = convertNameToSurrogate; const convertSurrogateToName2 = convertSurrogateToName; let Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); 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 object2 = {getDefaultDiversitySurrogate: getDefaultDiversitySurrogate, setDefaultDiversitySurrogate: setDefaultDiversitySurrogate, getCategories: function() { var Object = global.Object; return Object.keys(require(dependencyMap[3]).emojisByCategory); }, getByName: getByName2, getByCategory: getByCategory, contentHasUnicodeOrEmoji: contentHasUnicodeOrEmoji2, translateInlineEmojiToSurrogates: translateInlineEmojiToSurrogates, maybeTranslateSurrogatesToInlineEmoji: maybeTranslateSurrogatesToInlineEmoji, findInlineEmojisFromSurrogates: findInlineEmojisFromSurrogates2, translateSurrogatesToInlineEmoji: translateSurrogatesToInlineEmoji, convertNameToSurrogate: convertNameToSurrogate2, convertSurrogateToName: convertSurrogateToName2, 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; } } }}; object2.numDiversitySprites = (require(3799) /* metro dependency 3799 */).numDiversitySprites; object2.numNonDiversitySprites = (require(3799) /* metro dependency 3799 */).numNonDiversitySprites; object2.EMOJI_NAME_RE = RegExp('^:([^\\s:]+?(?:::skin-tone-\\d)?):', ''); object2.EMOJI_NAME_AND_DIVERSITY_RE = regexp; object2.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|=\\$|=\\-\\$|;\\)|;\\-\\))', ''); object2.hasSurrogates = hasSurrogates; (FileImportTrackerModule).fileFinishedImporting('modules/emojis/UnicodeEmojis.tsx'); exports.default = object2; 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 _fun28942() { // fn#28942, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3924:705, offset: 0x00c39d73, size: 69 bytes, params: 1, frame: 5 return env0_1 >= env0_0.length ? {done: true} : {done: false, value: env0_0[typeof env0_1 === 'bigint' ? env0_1 : +env0_1]}; } } 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_123 = new env0_12(a0); env0_7.set(a0, env0_123); return env0_123; } 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 items2 = []; 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; } items2.push(emojiNameOrUnicodeSequence(r10)); r18 = property; r19 = value4; } value7 = emojiNameOrUnicodeSequence(r18); length = items2.length; if (length > value3) { length = items2.length; property = items2[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 = items2.push; Reflect.apply(push, items2, [value7]); r15 = r19; break reducibleJoin19; } break reducibleJoin8; } if (property === env0_15) { r15 = property; break reducibleJoin19; } r18 = property; r19 = r10; value7 = emojiNameOrUnicodeSequence(r18); length = items2.length; if (length > value3) { length = items2.length; property = items2[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 = items2.push; Reflect.apply(push, items2, [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 = items2.push; Reflect.apply(push, items2, [emojiNameOrUnicodeSequence(r3)]); break reducibleJoin24; } break reducibleJoin24; } return items2; } 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 CreateClass(Emoji, [{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 Emoji(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; var value8; var value9; env1_3(this, Emoji); this.emojiObject = a0; const EmojiTypes = (EmojiTypesModule).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.prototype; value7 = Object.create(prototype, {constructor: {value: Emoji}}); emoji = new Emoji(); value8 = emoji instanceof Object ? emoji : 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); } } function getDefaultDiversitySurrogate() { // fn#28970, offset: 0x00d1a5b8, size: 9 bytes, params: 1, frame: 1 return env0_6; } 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 = Module00022; value = value.toArray(a0); return value.some(function(a0) { return require(dependencyMap[3]).surrogateToEmoji[a0] != null; }); } } global.__d(_fun28940, 3797, [6, 7, 3798, 3799, 3800, 3801, 22, 12710, 2]) /* metro module 3797, dependencies: [6, 7, 3798, 3799, 3800, 3801, 22, 12710, 2] */;