/* Metro module 893; source: unknown; dependencies: [57, 65, 889, 853, 847, 891, 857, 832, 833, 879, 894, 834] */ import * as Module00057Module from './module-00057.js'; /* Metro dependency 57 */ import * as Module00065Module from './module-00065.js'; /* Metro dependency 65 */ import * as DEBUG_BUILDModule from './module-00832-DEBUG_BUILD.js'; /* Metro dependency 832 */ import * as Module00833Module from './module-00833.js'; /* Metro dependency 833 */ function _fun9662(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#9662, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1020:6, offset: 0x00d6e18e, size: 174 bytes, params: 8, frame: 21 const env0_0 = require; const setMetricAttribute = function(a0, a1, a2) { var r8; var r5; var r4; var value = !a2; if (a2) { value = arguments.length > 3; r8 = value && arguments[3] !== undefined; value = !r8; r5 = r8 ? arguments[3] : value; value = !r5; r5 = r5 ? value : a1 in a0; r4 = r5; } else { r4 = value; } if (!r4) { a0[a1] = a2; } }; const _INTERNAL_captureSerializedMetric2 = _INTERNAL_captureSerializedMetric; const _INTERNAL_flushMetricsBuffer2 = _INTERNAL_flushMetricsBuffer; const _INTERNAL_getMetricBuffer2 = _INTERNAL_getMetricBuffer; const Object = global.Object; const defineProperty = Object.defineProperty; const Symbol = global.Symbol; Reflect.apply(defineProperty, Object, [exports, Symbol.toStringTag, {value: 'Module'}]); exports._INTERNAL_captureMetric = _INTERNAL_captureMetric; exports._INTERNAL_captureSerializedMetric = _INTERNAL_captureSerializedMetric2; exports._INTERNAL_flushMetricsBuffer = _INTERNAL_flushMetricsBuffer2; exports._INTERNAL_getMetricBuffer = _INTERNAL_getMetricBuffer2; function _INTERNAL_captureSerializedMetric(a0, a1) { // fn#9664, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1020:234, offset: 0x00d6e284, size: 144 bytes, params: 3, frame: 21 var items2; const value2 = _getBufferMap_9667(); const value3 = _INTERNAL_getMetricBuffer(a0); if (value3 === undefined) { value2.set(a0, [a1]); } else if (value3.length >= 1000) { _INTERNAL_flushMetricsBuffer(a0, value3); value2.set(a0, [a1]); } else { items2 = []; value2.set(a0, items2.concat(Module00065Module(value3), [a1])); } } function _INTERNAL_flushMetricsBuffer(a0, a1) { // fn#9665, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1020:451, offset: 0x00d6e314, size: 176 bytes, params: 3, frame: 20 var moduleValue; let value = a1; let r8 = value ?? _INTERNAL_getMetricBuffer(a0); r8 = r8 ?? []; if (r8.length !== 0) { value = a0.getOptions(); moduleValue = require(894) /* metro dependency 894 */; value = moduleValue.createMetricEnvelope(r8, value._metadata, value.tunnel, a0.getDsn()); _getBufferMap_9667().set(a0, []); a0.emit('flushMetrics'); a0.sendEnvelope(value); } } function _INTERNAL_getMetricBuffer(a0) { // fn#9666, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1020:729, offset: 0x00d6d5f2, size: 28 bytes, params: 2, frame: 11 return _getBufferMap_9667().get(a0); } function _getBufferMap_9667() { // fn#9667, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1020:797, offset: 0x00d6e3c4, size: 52 bytes, params: 1, frame: 13 return (require(834) /* metro dependency 834 */).getGlobalSingleton('clientToMetricBufferMap', function() { var WeakMap = global.WeakMap; var value = Object.create(WeakMap.prototype, {constructor: {value: WeakMap}}); var value2 = new WeakMap(); return value2 instanceof Object ? value2 : value; }); } function _INTERNAL_captureMetric(a0, a1) { // fn#9669, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1020:943, offset: 0x00d6e3f8, size: 1317 bytes, params: 3, frame: 30 var enableMetrics; var r1; var r3; var beforeSendMetric; var r7; var r9; var spanId; const DEBUG_BUILD = (DEBUG_BUILDModule).DEBUG_BUILD; const debug = (Module00833Module).debug; var options; var _experiments; var moduleValue3; var getCombinedScopeData; var moduleValue4; var value12; var user; var attributes; var options2; var release; var environment; var Object; var assign; var value14; var setMetricAttributeBinding; var sdkMetadata; var object; var name; var version; var integrationByName; var value20; var property; var value24; var serializeAttributes; var value27; var moduleValue9; const value = undefined; const r10 = (a1 == null ? value : a1.scope) ?? (require(857) /* metro dependency 857 */).getCurrentScope(); const r2 = (a1 == null ? value : a1.captureSerializedMetric) ?? _INTERNAL_captureSerializedMetric; let r4 = r10 == null ? value : r10.getClient(); r4 = r4 ?? (require(857) /* metro dependency 857 */).getClient(); if (r4) { options = r4.getOptions(); _experiments = options._experiments; enableMetrics = options.enableMetrics; beforeSendMetric = options.beforeSendMetric; r1 = enableMetrics ?? (_experiments == null ? value : _experiments.enableMetrics); if (r1 == null) { moduleValue3 = require(879) /* metro dependency 879 */; getCombinedScopeData = moduleValue3.getCombinedScopeData; moduleValue4 = require(857) /* metro dependency 857 */; value12 = Reflect.apply(getCombinedScopeData, moduleValue3, [moduleValue4.getIsolationScope(), r10]); user = value12.user; attributes = value12.attributes; options2 = r4.getOptions(); release = options2.release; environment = options2.environment; Object = global.Object; value14 = Object.assign({}, a0.attributes); setMetricAttributeBinding = setMetricAttribute; setMetricAttributeBinding(value14, 'user.id', user.id, false); setMetricAttributeBinding(value14, 'user.email', user.email, false); setMetricAttributeBinding(value14, 'user.name', user.username, false); setMetricAttributeBinding(value14, 'sentry.release', release); setMetricAttributeBinding(value14, 'sentry.environment', environment); sdkMetadata = r4.getSdkMetadata(); r3 = (sdkMetadata == null ? value : sdkMetadata.sdk) ?? ({}); name = r3.name; version = r3.version; setMetricAttributeBinding = setMetricAttribute; setMetricAttributeBinding(value14, 'sentry.sdk.name', name); setMetricAttributeBinding(value14, 'sentry.sdk.version', version); integrationByName = r4.getIntegrationByName('Replay'); r3 = integrationByName == null ? value : integrationByName.getReplayId(true); setMetricAttribute(value14, 'sentry.replay_id', r3); r3 = r3 && (integrationByName == null ? value : integrationByName.getRecordingMode()) === 'buffer'; if (r3) { setMetricAttribute(value14, 'sentry._internal.replay_is_buffering', true); } Object = global.Object; assign = Object.assign; object = {attributes: value14}; value20 = Reflect.apply(assign, Object, [{}, a0, object]); r4.emit('processMetric', value20); r7 = beforeSendMetric || (_experiments == null ? value : _experiments.beforeSendMetric); r3 = r7 ? r7(value20) : value20; if (r3) { property = Module00057Module((require(889) /* metro dependency 889 */)._getTraceInfoFromScope(r4, r10), 2)[1]; value24 = (require(853) /* metro dependency 853 */)._getSpanForScope(r10); r9 = value24 ? value24.spanContext().traceId : property == null ? value : property.trace_id; spanId = value24 ? value24.spanContext().spanId : value; object = {}; object.timestamp = (require(847) /* metro dependency 847 */).timestampInSeconds(); object.trace_id = r9 ?? ''; object.span_id = spanId; object.name = r3.name; object.type = r3.type; object.unit = r3.unit; object.value = r3.value; Object = global.Object; assign = Object.assign; value27 = (require(891) /* metro dependency 891 */).serializeAttributes(attributes); moduleValue9 = require(891) /* metro dependency 891 */; serializeAttributes = moduleValue9.serializeAttributes; attributes = r3.attributes; object.attributes = Reflect.apply(assign, Object, [{}, value27, Reflect.apply(serializeAttributes, moduleValue9, [attributes, 'skip-undefined'])]); if (DEBUG_BUILD) { debug.log('[Metric]', object); } r2(r4, object); r4.emit('afterCaptureMetric', r3); } else if (DEBUG_BUILD) { debug.log('`beforeSendMetric` returned `null`, will not send metric.'); } } else if (r1) { moduleValue3 = require(879) /* metro dependency 879 */; getCombinedScopeData = moduleValue3.getCombinedScopeData; moduleValue4 = require(857) /* metro dependency 857 */; value12 = Reflect.apply(getCombinedScopeData, moduleValue3, [moduleValue4.getIsolationScope(), r10]); user = value12.user; attributes = value12.attributes; options2 = r4.getOptions(); release = options2.release; environment = options2.environment; Object = global.Object; value14 = Object.assign({}, a0.attributes); setMetricAttributeBinding = setMetricAttribute; setMetricAttributeBinding(value14, 'user.id', user.id, false); setMetricAttributeBinding(value14, 'user.email', user.email, false); setMetricAttributeBinding(value14, 'user.name', user.username, false); setMetricAttributeBinding(value14, 'sentry.release', release); setMetricAttributeBinding(value14, 'sentry.environment', environment); sdkMetadata = r4.getSdkMetadata(); r3 = (sdkMetadata == null ? value : sdkMetadata.sdk) ?? ({}); name = r3.name; version = r3.version; setMetricAttributeBinding = setMetricAttribute; setMetricAttributeBinding(value14, 'sentry.sdk.name', name); setMetricAttributeBinding(value14, 'sentry.sdk.version', version); integrationByName = r4.getIntegrationByName('Replay'); r3 = integrationByName == null ? value : integrationByName.getReplayId(true); setMetricAttribute(value14, 'sentry.replay_id', r3); r3 = r3 && (integrationByName == null ? value : integrationByName.getRecordingMode()) === 'buffer'; if (r3) { setMetricAttribute(value14, 'sentry._internal.replay_is_buffering', true); } Object = global.Object; assign = Object.assign; object = {attributes: value14}; value20 = Reflect.apply(assign, Object, [{}, a0, object]); r4.emit('processMetric', value20); r7 = beforeSendMetric || (_experiments == null ? value : _experiments.beforeSendMetric); r3 = r7 ? r7(value20) : value20; if (r3) { property = Module00057Module((require(889) /* metro dependency 889 */)._getTraceInfoFromScope(r4, r10), 2)[1]; value24 = (require(853) /* metro dependency 853 */)._getSpanForScope(r10); r9 = value24 ? value24.spanContext().traceId : property == null ? value : property.trace_id; spanId = value24 ? value24.spanContext().spanId : value; object = {}; object.timestamp = (require(847) /* metro dependency 847 */).timestampInSeconds(); object.trace_id = r9 ?? ''; object.span_id = spanId; object.name = r3.name; object.type = r3.type; object.unit = r3.unit; object.value = r3.value; Object = global.Object; assign = Object.assign; value27 = (require(891) /* metro dependency 891 */).serializeAttributes(attributes); moduleValue9 = require(891) /* metro dependency 891 */; serializeAttributes = moduleValue9.serializeAttributes; attributes = r3.attributes; object.attributes = Reflect.apply(assign, Object, [{}, value27, Reflect.apply(serializeAttributes, moduleValue9, [attributes, 'skip-undefined'])]); if (DEBUG_BUILD) { debug.log('[Metric]', object); } r2(r4, object); r4.emit('afterCaptureMetric', r3); } else if (DEBUG_BUILD) { debug.log('`beforeSendMetric` returned `null`, will not send metric.'); } } else if (DEBUG_BUILD) { debug.warn('metrics option not enabled, metric will not be captured.'); } } else if (DEBUG_BUILD) { debug.warn('No client available to capture metric.'); } return value; } } global.__d(_fun9662, 893, [57, 65, 889, 853, 847, 891, 857, 832, 833, 879, 894, 834]) /* metro module 893, dependencies: [57, 65, 889, 853, 847, 891, 857, 832, 833, 879, 894, 834] */;