/* Metro module 4862; source: lib/MessageQueue.tsx; dependencies: [29, 6, 7, 15, 17, 102, 18, 4649, 1226, 4401, 661, 4503, 672, 3, 507, 4863, 4872, 4873, 1909, 44, 4648, 4651, 4655, 5258, 2] */ import Logger from '../modules/debug/Logger.tsx'; /* Metro dependency 3 */ 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 PossibleConstructorReturn from '../by-id/module-00015-PossibleConstructorReturn.js'; /* Metro dependency 15 */ import Module00017 from '../by-id/module-00017.js'; /* Metro dependency 17 */ import Inherits from '../by-id/module-00018-Inherits.js'; /* Metro dependency 18 */ import ObjectWithoutProperties from '../by-id/module-00029-ObjectWithoutProperties.js'; /* Metro dependency 29 */ import Module00044 from '../by-id/module-00044.js'; /* Metro dependency 44 */ import Module00102 from '../by-id/module-00102.js'; /* Metro dependency 102 */ import AuthenticationStore from '../stores/AuthenticationStore.tsx'; /* Metro dependency 1226 */ import NetworkStore from '../stores/NetworkStore.tsx'; /* Metro dependency 4401 */ import DevSettingsStore from '../modules/devtools/dev_settings/DevSettingsStore.tsx'; /* Metro dependency 4649 */ import * as FileImportTrackerModule from '../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */ import * as HTTPUtilsModule from '../external/discord_common/js/packages/http-utils/HTTPUtils.tsx'; /* Metro dependency 507 */ import * as ConstantsModule from '../Constants.tsx'; /* Metro dependency 661 */ import * as ServerModule from '../flow/Server.tsx'; /* Metro dependency 1909 */ import * as MessageConstantsModule from '../modules/messages/MessageConstants.tsx'; /* Metro dependency 4503 */ import * as CloudUploadModule from './uploader/CloudUpload.tsx'; /* Metro dependency 4648 */ import * as UploadUtilsModule from '../utils/UploadUtils.tsx'; /* Metro dependency 4651 */ import * as AppAnalyticsUtilsModule from '../modules/app_analytics/AppAnalyticsUtils.tsx'; /* Metro dependency 4863 */ import * as NetStatsAndroidModule from '../modules/network/NetStats.android.tsx'; /* Metro dependency 4873 */ function _fun42457(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#42457, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5040:6, offset: 0x01139e28, size: 591 bytes, params: 8, frame: 25 const env0_0 = require; const isMessageDataSend2 = isMessageDataSend; const isMessageDataEdit2 = isMessageDataEdit; const env0_3 = ['channelId', 'analyticsLocation']; const env0_4 = ['channelId', 'analyticsLocation']; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); let value = ConstantsModule; const env0_15 = value.AbortCodes; const env0_16 = value.Endpoints; const env0_17 = value.AnalyticEvents; object = {SEND: 0}; object[0] = 'SEND'; object.EDIT = 1; object[1] = 'EDIT'; object.COMMAND = 2; object[2] = 'COMMAND'; object.SEND_ANNOUNCEMENT = 3; object[3] = 'SEND_ANNOUNCEMENT'; let Millis = (importDefault(672) /* metro dependency 672: Durations */).Millis; let MINUTE = Millis.MINUTE; const items2 = [1 * MINUTE]; Millis = (importDefault(672) /* metro dependency 672: Durations */).Millis; MINUTE = Millis.MINUTE; items2[1] = 5 * MINUTE; value = importDefault(5258) /* metro dependency 5258: Queue */; value = _fun42463(value); value = new value(); (FileImportTrackerModule).fileFinishedImporting('lib/MessageQueue.tsx'); exports.default = value; exports.MessageDataType = object; exports.isMessageDataSend = isMessageDataSend2; exports.isMessageDataEdit = isMessageDataEdit2; exports.isMessageDataCommand = isMessageDataCommand; exports.getFailedMessageId = getFailedMessageId; function _isNativeReflectConstruct_42458() { // fn#42458, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5040:382, offset: 0x0113a077, size: 94 bytes, params: 1, frame: 18 var Boolean; var prototype; var valueOf; var call; var Reflect; var construct; var closure; var value; var error; try { Boolean = global.Boolean; prototype = Boolean.prototype; valueOf = prototype.valueOf; call = valueOf.call; Reflect = global.Reflect; construct = Reflect.construct; Boolean = global.Boolean; closure = function() { }; value = Reflect.apply(construct, Reflect, [Boolean, [], closure]); value = Reflect.apply(call, valueOf, [value]); var result = !value; } catch (error) { } return (_isNativeReflectConstruct_42458_isNativeReflectConstruct = function() { return !!result; })(); } function isMessageDataSend(a0) { // fn#42461, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5040:715, offset: 0x0113a0d5, size: 49 bytes, params: 2, frame: 4 const type = a0.type; const SEND = env0_19.SEND; return type === SEND || a0.type === env0_19.SEND_ANNOUNCEMENT; } function isMessageDataEdit({type}) { // fn#42462, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5040:798, offset: 0x0113a106, size: 27 bytes, params: 2, frame: 2 const EDIT = env0_19.EDIT; return type === EDIT; } function _fun42463(a0) { // fn#42463, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5040:915, offset: 0x0113a121, size: 306 bytes, params: 2, frame: 16 const MessageQueue_424642 = MessageQueue_42464; Inherits(MessageQueue_424642, a0); return CreateClass(MessageQueue_424642, [{key: 'isFull', value: function() { return this.queue.length >= this.maxSize; }}, {key: 'drain', value: value_42468}, {key: 'cancelRequest', value: function(a0) { this.logger.log('Cancel message send: ', a0); var value = this.requests.get(a0); if (value != null) { value.abort(); } this.requests.delete(a0); this.cancelQueueMetricTimers(a0); }}, {key: 'cancelPendingSendRequests', value: value_42470}, {key: 'clear', value: value_42471}, {key: 'startQueueMetricTimers', value: value_42476}, {key: 'cancelQueueMetricTimers', value: function(a0) { var value = this.analyticsTimeouts.get(a0); if (value != null) { value.forEach(global.clearTimeout); } this.analyticsTimeouts.delete(a0); }}, {key: 'createResponseHandler', value: function(a0, a1) { var env0_0 = this; var env0_1 = a0; var env0_2 = a1; return _fun42481; }}, {key: 'handleSend', value: value_42482}, {key: 'handleSendAnnouncement', value: value_42484}, {key: 'handleCommand', value: value_42486}]); function MessageQueue_42464() { // fn#42464, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5040:927, offset: 0x0113a253, size: 261 bytes, params: 1, frame: 21 var environment; let value = a0; const r2 = value !== undefined ? value : 5; value = environment.__proto__; env1_6(this, MessageQueue_42464); const defaultImport = Logger; const value3 = Object.create(defaultImport.prototype, {constructor: {value: defaultImport}}); const defaultImport2 = new defaultImport('MessageQueue'); const items2 = [defaultImport2 instanceof Object ? defaultImport2 : value3]; const value6 = env1_9(MessageQueue_42464); value = env1_8(this, _isNativeReflectConstruct_42458() ? global.Reflect.construct(value6, items2, env1_9(this).constructor) : value6.apply(this, items2)); value.maxSize = r2; let Map = global.Map; const value7 = Object.create(Map.prototype, {constructor: {value: Map}}); let map = new Map(); value.requests = map instanceof Object ? map : value7; Map = global.Map; const value9 = Object.create(Map.prototype, {constructor: {value: Map}}); map = new Map(); value.analyticsTimeouts = map instanceof Object ? map : value9; value.handleEdit = handleEdit; return value; function handleEdit(a0, a1) { // fn#42465, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5040:1245, owner: MessageQueue_42464.handleEdit, offset: 0x0113a358, size: 233 bytes, params: 3, frame: 21 const channelId = a0.channelId; const messageId = a0.messageId; const messageId2 = messageId; const isCrossposted = a0.isCrossposted; let object = {'channelId': 0, 'messageId': 0, 'isCrossposted': 0}; silentSetPrototypeOf(object, null, undefined); const value = copyDataProperties({}, a0, object, channelId); const AbortController = global.AbortController; const abortController = new AbortController(); const responseHandler = messageId2.createResponseHandler(messageId, a1); object = {'url': null, 'body': null, 'retries': 1, 'oldFormErrors': true, 'signal': null, 'rejectWithError': true}; object.url = Endpoints.MESSAGE(channelId, messageId); object.body = value; object.signal = abortController.signal; object.onRequestCreated = onRequestCreated; if (isCrossposted) { object.failImmediatelyWhenRateLimited = true; } const HTTP = (HTTPUtilsModule).HTTP; HTTP.patch(object, responseHandler); function onRequestCreated() { // fn#42466, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5040:1463, owner: MessageQueue_42464.handleEdit.onRequestCreated, offset: 0x0113a441, size: 39 bytes, params: 1, frame: 13 const requests = env1_0.requests; requests.set(messageId, env0_1); } } } function value_42468(a0, a1) { // fn#42468, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5040:1692, offset: 0x0113a482, size: 184 bytes, params: 3, frame: 16 const logger = this.logger; const log = logger.log; let type = a0.type; Reflect.apply(log, logger, ['Draining Message Queue with: ', type]); type = a0.type; const SEND = env1_19.SEND; if (SEND === type) { this.handleSend(a0.message, a1); } else if (env1_19.SEND_ANNOUNCEMENT === type) { this.handleSendAnnouncement(a0.message, a1); } else if (env1_19.EDIT === type) { this.handleEdit(a0.message, a1); } else if (env1_19.COMMAND === type) { this.handleCommand(a0.message, a1); } } function value_42470(a0) { // fn#42470, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5040:2220, offset: 0x0113a597, size: 201 bytes, params: 2, frame: 20 var r9; var shift; var value2; var message; var type; var SEND; var message2; var channelId; var push; const items4 = []; const items2 = []; let queue = this.queue; let length = queue.length; if (length > 0) { reducibleLoop1: while (true) { queue = this.queue; shift = queue.shift; value2 = Reflect.apply(shift, queue, []); message = value2.message; type = message.type; SEND = env1_19.SEND; reducibleJoin5: while (true) { reducibleJoin3: while (true) { if (type !== SEND) { break reducibleJoin3; } message2 = message.message; channelId = message2.channelId; if (channelId === a0) { push = items4.push; message = message.message; Reflect.apply(push, items4, [message]); break reducibleJoin5; } break reducibleJoin3; } push = items2.push; Reflect.apply(push, items2, [value2]); break reducibleJoin5; } queue = this.queue; length = queue.length; if (length > 0) { continue reducibleLoop1; } r9 = type; break reducibleLoop1; } } queue = this.queue; push = queue.push; const items3 = []; arraySpread(items3, items2, 0, r9); apply(push, items3, queue, r9); const logger = this.logger; logger.log('Cancel pending send requests', items4.length); return items4; } function value_42471() { // fn#42471, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5040:2487, offset: 0x0113a660, size: 108 bytes, params: 1, frame: 17 this.requests.forEach(function(a0) { return a0.abort(); }); this.requests.clear(); this.analyticsTimeouts.forEach(_fun42473); value_42471_superPropGet(MessageQueue_42464, 'clear', this, 3)([]); function _fun42473(a0, a1) { // fn#42473, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5040:2590, offset: 0x0113a6db, size: 23 bytes, params: 3, frame: 11 return env0_0.cancelQueueMetricTimers(a1); } function value_42471_superPropGet(a0, a1, a2, a3) { // fn#42474, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5040:2631, owner: value_42471._superPropGet, offset: 0x0113a6f2, size: 100 bytes, params: 5, frame: 18 let value = a0; const env0_0 = a2; const binding = env2_10; value = env2_9(1 & 3 ? value.prototype : value); value = binding(value, 'clear', a2); return 2 & 3 ? typeof value !== 'function' ? value : _fun42475 : value; function _fun42475(a0) { // fn#42475, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5040:2730, offset: 0x00c62408, size: 27 bytes, params: 2, frame: 13 return env0_1.apply(importDefault, a0); } } } function value_42476(a0) { // fn#42476, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5040:2837, offset: 0x0113a756, size: 51 bytes, params: 2, frame: 13 var environment; const value = environment.__proto__; this.analyticsTimeouts.set(a0, env1_20.map(function(a0) { var env0_0 = a0; return global.setTimeout(_fun42478, a0); })); function _fun42477(a0) { // fn#42477, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5040:2862, offset: 0x0113a789, size: 32 bytes, params: 2, frame: 13 const env0_0 = a0; return global.setTimeout(_fun42478, a0); function _fun42478() { // fn#42478, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5040:2877, offset: 0x0113a7a9, size: 65 bytes, params: 1, frame: 15 const trackWithMetadata = AppAnalyticsUtilsModule.trackWithMetadata; const SEND_MESSAGE_QUEUED = AnalyticEvents.SEND_MESSAGE_QUEUED; Reflect.apply(trackWithMetadata, AppAnalyticsUtilsModule, [SEND_MESSAGE_QUEUED, {queued_duration_ms: env0_0}]); } } } function value_42480(a0, a1) { // fn#42480, offset: 0x0113a82c, size: 30 bytes, params: 3, frame: 2 const env0_1 = a0; const env0_2 = a1; return _fun42481; function _fun42481(a0) { // fn#42481, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5040:3208, offset: 0x0113a84a, size: 291 bytes, params: 2, frame: 19 var binding; var requests; var binding2; var code; var value2; var int; var object; if (env0_1 != null) { binding = env0_0; requests = binding.requests; binding2 = env0_1; requests.delete(binding2); binding.cancelQueueMetricTimers(binding2); } if (a0.hasErr) { return require(null, a0); } if (a0.body == null) { if (a0.status === 429) { int = global.parseInt(a0.headers['retry-after']); if (global.isNaN(int)) { require(null, a0); } else { object = {}; value = environment.__proto__.__proto__; object.retryAfter = int * (importDefault(672) /* metro dependency 672: Durations */).Millis.SECOND; require(object); } } else { require(null, a0); } } else { code = a0.body.code; value2 = environment.__proto__.__proto__; if (code === AbortCodes.SLOWMODE_RATE_LIMITED) { require(null, a0); } else if (a0.body.code !== AbortCodes.CHANNEL_FOLLOWING_EDIT_RATE_LIMITED) { if (a0.status === 429) { int = global.parseInt(a0.headers['retry-after']); if (global.isNaN(int)) { require(null, a0); } else { object = {}; value = environment.__proto__.__proto__; object.retryAfter = int * (importDefault(672) /* metro dependency 672: Durations */).Millis.SECOND; require(object); } } else { require(null, a0); } } else { require(null, a0); } } } } function value_42482(a0, a1) { // fn#42482, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5040:3593, offset: 0x0113a96d, size: 460 bytes, params: 3, frame: 25 const env0_1 = a0; const channelId = a0.channelId; const analyticsLocation = a0.analyticsLocation; const binding = env1_5; const value2 = undefined; const value3 = binding(a0, env1_3); const r7 = (importDefault(4872) /* metro dependency 4872: getOverlayMessageAnaylticsLocationNative */)() ?? analyticsLocation; const r10 = r7 != null ? {location: r7} : value2; const signalStrength = (NetStatsAndroidModule).getSignalStrength(); const object = {}; object.mobile_network_type = NetworkStore.getType(); copyDataProperties(object, value3, channelId); copyDataProperties(object, signalStrength != null && ({signal_strength: signalStrength}), channelId); const devSettingsStoreBinding = DevSettingsStore; const get = devSettingsStoreBinding.get; if (Reflect.apply(get, devSettingsStoreBinding, ['send_fail_100'])) { this.logger.log('Skipping message send because send_fail_100 is enabled'); a1(null, {'ok': false, 'hasErr': false, 'status': 500, 'headers': null, 'body': '{}', 'text': 'Simulated failure', headers: {}}); } else { var responseHandler = this.createResponseHandler(a0.nonce, a1); var AbortController = global.AbortController; var abortController = new AbortController(); this.startQueueMetricTimers(a0.nonce); var HTTP = (require(507) /* metro dependency 507: HTTPUtils */).HTTP; var post = HTTP.post; var object3 = {}; object3.url = Endpoints.MESSAGES(channelId); object3.body = object; object3.context = r10; object3.oldFormErrors = true; copyDataProperties(object3, MESSAGE_HTTP_TIMEOUT_RETRY_OPTIONS, channelId); object3['signal'] = abortController.signal; object3['rejectWithError'] = true; object3['onRequestCreated'] = value_42482OnRequestCreated; Reflect.apply(post, HTTP, [object3, responseHandler]); } return value2; function value_42482OnRequestCreated() { // fn#42483, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5040:4248, owner: value_42482.onRequestCreated, offset: 0x0113ab39, size: 58 bytes, params: 1, frame: 13 var requests; if (env0_1.nonce != null) { requests = env0_0.requests; requests.set(env0_1.nonce, env0_2); } } } function value_42484(a0, a1) { // fn#42484, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5040:4340, offset: 0x0113ab73, size: 460 bytes, params: 3, frame: 25 const env0_1 = a0; const channelId = a0.channelId; const analyticsLocation = a0.analyticsLocation; const binding = env1_5; const value2 = undefined; const value3 = binding(a0, env1_4); const r7 = (importDefault(4872) /* metro dependency 4872: getOverlayMessageAnaylticsLocationNative */)() ?? analyticsLocation; const r10 = r7 != null ? {location: r7} : value2; const signalStrength = (NetStatsAndroidModule).getSignalStrength(); const object = {}; object.mobile_network_type = NetworkStore.getType(); copyDataProperties(object, value3, channelId); copyDataProperties(object, signalStrength != null && ({signal_strength: signalStrength}), channelId); const devSettingsStoreBinding = DevSettingsStore; const get = devSettingsStoreBinding.get; if (Reflect.apply(get, devSettingsStoreBinding, ['send_fail_100'])) { this.logger.log('Skipping message send because send_fail_100 is enabled'); a1(null, {'ok': false, 'hasErr': false, 'status': 500, 'headers': null, 'body': '{}', 'text': 'Simulated failure', headers: {}}); } else { var responseHandler = this.createResponseHandler(a0.nonce, a1); var AbortController = global.AbortController; var abortController = new AbortController(); this.startQueueMetricTimers(a0.nonce); var HTTP = (require(507) /* metro dependency 507: HTTPUtils */).HTTP; var post = HTTP.post; var object3 = {}; object3.url = Endpoints.MESSAGES_ANNOUNCEMENT(channelId); object3.body = object; object3.context = r10; object3.oldFormErrors = true; copyDataProperties(object3, MESSAGE_HTTP_TIMEOUT_RETRY_OPTIONS, channelId); object3['signal'] = abortController.signal; object3['rejectWithError'] = true; object3['onRequestCreated'] = value_42484OnRequestCreated; Reflect.apply(post, HTTP, [object3, responseHandler]); } return value2; function value_42484OnRequestCreated() { // fn#42485, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5040:5008, owner: value_42484.onRequestCreated, offset: 0x0113ab39, size: 58 bytes, params: 1, frame: 13 var requests; if (env0_1.nonce != null) { requests = env0_0.requests; requests.set(env0_1.nonce, env0_2); } } } function value_42486({applicationId, guildId, channelId, data, nonce, attachments, maxSizeCallback, analytics_location, sectionName, source}, a1) { // fn#42486, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5040:5091, offset: 0x0113ad3f, size: 346 bytes, params: 3, frame: 26 const object = {}; const InteractionTypes = (ServerModule).InteractionTypes; const APPLICATION_COMMAND = InteractionTypes.APPLICATION_COMMAND; object.type = APPLICATION_COMMAND; object.application_id = applicationId; object.guild_id = guildId; object.channel_id = channelId; object.session_id = AuthenticationStore.getSessionId(); object.data = data; object.nonce = nonce; object.analytics_location = analytics_location; object.section_name = sectionName; object.source = source; if (attachments != null) { object.data.attachments = attachments.map(_fun42487); } const AbortController = global.AbortController; const abortController = new AbortController(); const HTTP = (HTTPUtilsModule).HTTP; const post = HTTP.post; const INTERACTIONS = Endpoints.INTERACTIONS; Reflect.apply(post, HTTP, [{url: INTERACTIONS, body: object, signal: abortController.signal, rejectWithError: true, onRequestCreated: onRequestCreated}, this.createResponseHandler(nonce, a1)]); function _fun42487(a0, a1) { // fn#42487, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5040:5459, offset: 0x0113ae99, size: 106 bytes, params: 3, frame: 16 const value = environment.__proto__.__proto__; const defaultImport = Module00044; const status = a0.status; const CloudUploadStatus = (CloudUploadModule).CloudUploadStatus; const COMPLETED = CloudUploadStatus.COMPLETED; defaultImport(status === COMPLETED, 'Uploads must be staged before trying to send a message'); return (UploadUtilsModule).getAttachmentPayload(a0, a1); } function value_42486OnRequestCreated(a0) { // fn#42488, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5040:5748, owner: value_42486.onRequestCreated, offset: 0x0113af03, size: 62 bytes, params: 2, frame: 14 const requests = env0_0.requests; requests.set(nonce, env0_4); a0.on('progress', _fun42489); function _fun42489({total}) { // fn#42489, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5040:5792, offset: 0x0113af41, size: 106 bytes, params: 2, frame: 15 var binding; let value = environment.__proto__.__proto__.__proto__; value = Reflect.apply((require(4655) /* metro dependency 4655: FileUtils */).maxFileSize, value, [guildId]); if (total != null && total > value) { binding = env1_0; binding.cancelRequest(nonce); if (maxSizeCallback != null) { maxSizeCallback(value); } } } } } } function isMessageDataCommand({type}) { // fn#42490, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5040:6135, offset: 0x0113afab, size: 27 bytes, params: 2, frame: 2 const COMMAND = env0_19.COMMAND; return type === COMMAND; } function getFailedMessageId(a0) { // fn#42491, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5040:6217, offset: 0x0113afc6, size: 69 bytes, params: 2, frame: 12 var r0; var message; var isMessageDataEdit2; if (isMessageDataSend(a0)) { r0 = a0.message.nonce; } else { isMessageDataEdit2 = isMessageDataEdit(a0); message = a0.message; r0 = isMessageDataEdit2 ? message.messageId : message.data.id; } return r0; } } global.__d(_fun42457, 4862, [29, 6, 7, 15, 17, 102, 18, 4649, 1226, 4401, 661, 4503, 672, 3, 507, 4863, 4872, 4873, 1909, 44, 4648, 4651, 4655, 5258, 2]) /* metro module 4862, dependencies: [29, 6, 7, 15, 17, 102, 18, 4649, 1226, 4401, 661, 4503, 672, 3, 507, 4863, 4872, 4873, 1909, 44, 4648, 4651, 4655, 5258, 2] */;