/* Metro module 8742; source: modules/app_analytics/useTrackImpression.tsx; dependencies: [31, 1379, 1934, 3969, 684, 480, 683, 694, 4863, 644, 5081, 4594, 2] */ import defaultImport2 from '../../by-id/module-00644.js'; /* Metro dependency 644 */ import ChannelStore from '../../stores/ChannelStore.tsx'; /* Metro dependency 1379 */ import SelectedChannelStore from '../../stores/SelectedChannelStore.tsx'; /* Metro dependency 1934 */ import SelectedGuildStore from '../../stores/SelectedGuildStore.tsx'; /* Metro dependency 3969 */ import UseMountEffect from '../../hooks/useMountEffect.tsx'; /* Metro dependency 4594 */ import * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */ import * as ReactModule from '../../by-id/module-00031-React.js'; /* Metro dependency 31 */ import * as AnalyticsUtilsModule from '../../external/discord_common/js/packages/analytics-utils/AnalyticsUtils.tsx'; /* Metro dependency 480 */ import * as AnalyticsUtilsModule2 from '../../utils/AnalyticsUtils.tsx'; /* Metro dependency 683 */ import * as ImpressionStoreModule from './ImpressionStore.tsx'; /* Metro dependency 684 */ function _fun68449(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#68449, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8927:6, offset: 0x01c4ef14, size: 326 bytes, params: 8, frame: 21 const env0_0 = require; const trackImpression2 = trackImpression; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); let value = ImpressionStoreModule; const env0_7 = value.setCurrentImpression; const env0_8 = value.cleanupImpression; const env0_9 = value.setDebugTrackedData; const env0_10 = value.getLocation; const env0_11 = value.getImpressionStack; value = require(480) /* metro dependency 480: AnalyticsUtils */; const trackMaker = value.trackMaker; object = {}; const AnalyticEventConfigs = (AnalyticsUtilsModule2).AnalyticEventConfigs; object.analyticEventConfigs = AnalyticEventConfigs; object.dispatcher = importDefault(694) /* metro dependency 694: Dispatcher */; object.TRACK_ACTION_NAME = 'TRACK'; const env0_12 = Reflect.apply(trackMaker, value, [object]); (FileImportTrackerModule).fileFinishedImporting('modules/app_analytics/useTrackImpression.tsx'); exports.default = useTrackImpression; exports.trackImpression = trackImpression2; function trackImpression(a0) { // fn#68450, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8927:375, offset: 0x01c4f05a, size: 418 bytes, params: 2, frame: 27 var r17; var r15; var impressionStack; var moduleValue; var expandEventProperties; var object; var moduleValue2; var moduleValue3; var collectChannelAnalyticsMetadata; var channelStoreBinding; var value7; const value = a1; const value2 = a2; const value3 = undefined; const r3 = value !== value3 ? value : false; const r2 = value2 !== value3 ? value2 : false; const name = a0.name; const type = a0.type; const properties = a0.properties; const type2 = a0.type; const ImpressionTypes = (AnalyticsUtilsModule).ImpressionTypes; const MODAL = ImpressionTypes.MODAL; if (type2 !== MODAL) { if (!r2) { setCurrentImpression(a0); } r17 = (properties == null ? value3 : properties.guild_id) ?? SelectedGuildStore.getGuildId(); r15 = (properties == null ? value3 : properties.channel_id) ?? SelectedChannelStore.getChannelId(r17); moduleValue = require(683) /* metro dependency 683: AnalyticsUtils */; expandEventProperties = moduleValue.expandEventProperties; object = {impression_type: type}; object.location = getLocation(); moduleValue2 = require(4863) /* metro dependency 4863: AppAnalyticsUtils */; copyDataProperties(object, moduleValue2.collectGuildAnalyticsMetadata(r17), r17); moduleValue3 = require(4863) /* metro dependency 4863: AppAnalyticsUtils */; collectChannelAnalyticsMetadata = moduleValue3.collectChannelAnalyticsMetadata; channelStoreBinding = ChannelStore; copyDataProperties(object, Reflect.apply(collectChannelAnalyticsMetadata, moduleValue3, [channelStoreBinding.getChannel(r15)]), r17); copyDataProperties(object, properties, r17); value7 = Reflect.apply(expandEventProperties, moduleValue, [object]); if (r3) { setDebugTrackedData(null, null); } else { if (name != null && type != null) { (require(683) /* metro dependency 683: AnalyticsUtils */).debugLogEvent(name, value7); env0_12(name, value7); } setDebugTrackedData(name, value7); } } else if (a0.name != null) { if (!r2) { setCurrentImpression(a0); } r17 = (properties == null ? value3 : properties.guild_id) ?? SelectedGuildStore.getGuildId(); r15 = (properties == null ? value3 : properties.channel_id) ?? SelectedChannelStore.getChannelId(r17); moduleValue = require(683) /* metro dependency 683: AnalyticsUtils */; expandEventProperties = moduleValue.expandEventProperties; object = {impression_type: type}; object.location = getLocation(); moduleValue2 = require(4863) /* metro dependency 4863: AppAnalyticsUtils */; copyDataProperties(object, moduleValue2.collectGuildAnalyticsMetadata(r17), r17); moduleValue3 = require(4863) /* metro dependency 4863: AppAnalyticsUtils */; collectChannelAnalyticsMetadata = moduleValue3.collectChannelAnalyticsMetadata; channelStoreBinding = ChannelStore; copyDataProperties(object, Reflect.apply(collectChannelAnalyticsMetadata, moduleValue3, [channelStoreBinding.getChannel(r15)]), r17); copyDataProperties(object, properties, r17); value7 = Reflect.apply(expandEventProperties, moduleValue, [object]); if (r3) { setDebugTrackedData(null, null); } else { if (name != null && type != null) { (require(683) /* metro dependency 683: AnalyticsUtils */).debugLogEvent(name, value7); env0_12(name, value7); } setDebugTrackedData(name, value7); } } else { impressionStack = getImpressionStack(); if (!impressionStack.some(function({_stackContext}) { return _stackContext?.isSlide; })) { if (!r2) { setCurrentImpression(a0); } r17 = (properties == null ? value3 : properties.guild_id) ?? SelectedGuildStore.getGuildId(); r15 = (properties == null ? value3 : properties.channel_id) ?? SelectedChannelStore.getChannelId(r17); moduleValue = require(683) /* metro dependency 683: AnalyticsUtils */; expandEventProperties = moduleValue.expandEventProperties; object = {impression_type: type}; object.location = getLocation(); moduleValue2 = require(4863) /* metro dependency 4863: AppAnalyticsUtils */; copyDataProperties(object, moduleValue2.collectGuildAnalyticsMetadata(r17), r17); moduleValue3 = require(4863) /* metro dependency 4863: AppAnalyticsUtils */; collectChannelAnalyticsMetadata = moduleValue3.collectChannelAnalyticsMetadata; channelStoreBinding = ChannelStore; copyDataProperties(object, Reflect.apply(collectChannelAnalyticsMetadata, moduleValue3, [channelStoreBinding.getChannel(r15)]), r17); copyDataProperties(object, properties, r17); value7 = Reflect.apply(expandEventProperties, moduleValue, [object]); if (r3) { setDebugTrackedData(null, null); } else { if (name != null && type != null) { (require(683) /* metro dependency 683: AnalyticsUtils */).debugLogEvent(name, value7); env0_12(name, value7); } setDebugTrackedData(name, value7); } } } return value3; } function useTrackImpression(a0) { // fn#68452, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8927:1056, offset: 0x01c4f21c, size: 152 bytes, params: 2, frame: 14 const value = a1; const env0_0 = a0; const env0_1 = value !== undefined ? value : {'disableTrack': false, 'trackOnInitialLoad': false}; const env0_2 = a2; let env0_3 = undefined; const binding = env0_3; env0_3 = binding.useRef(undefined); const env0_4 = binding.useRef(undefined); (UseMountEffect)(_fun68455); binding.useEffect(_fun68456); function trackImpressionEffect() { // fn#68453, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8927:1195, owner: useTrackImpression.trackImpressionEffect, offset: 0x01c4f2b4, size: 219 bytes, params: 1, frame: 17 var r7; var binding; var object; const value3 = (defaultImport2)(env0_3.current, env0_0); if (!value3) { env0_3.current = env0_0; } const value4 = defaultImport2(env0_4.current, importDefault); if (value4) { r7 = defaultImport2; } else { binding = env0_4; binding.current = importDefault; r7 = binding; } if (value3) { if (value4) { return undefined; } object = {}; copyDataProperties(object, env0_0, r7); object['sequenceId'] = (importDefault(5081) /* metro dependency 5081 */)('impression_'); trackImpression(object, env0_1.disableTrack); } else { object = {}; copyDataProperties(object, env0_0, r7); object['sequenceId'] = (importDefault(5081) /* metro dependency 5081 */)('impression_'); trackImpression(object, env0_1.disableTrack); } return _fun68454; function _fun68454() { // fn#68454, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8927:1388, offset: 0x01c4f38f, size: 35 bytes, params: 1, frame: 11 var value2; if (env0_0 != null) { value2 = environment.__proto__.__proto__; cleanupImpression(env0_0); } } } function _fun68455() { // fn#68455, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8927:1420, offset: 0x01c4f3b2, size: 30 bytes, params: 1, frame: 10 if (env0_1.trackOnInitialLoad) { return trackImpressionEffect(); } } function _fun68456() { // fn#68456, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8927:1496, offset: 0x01c4f3d0, size: 30 bytes, params: 1, frame: 10 if (env0_1.trackOnInitialLoad) { return undefined; } return trackImpressionEffect(); } } } global.__d(_fun68449, 8742, [31, 1379, 1934, 3969, 684, 480, 683, 694, 4863, 644, 5081, 4594, 2]) /* metro module 8742, dependencies: [31, 1379, 1934, 3969, 684, 480, 683, 694, 4863, 644, 5081, 4594, 2] */;