/* Metro module 8742; source: modules/app_analytics/useTrackImpression.tsx; dependencies: [31, 1379, 1934, 3969, 684, 480, 683, 694, 4863, 644, 5081, 4594, 2] */ 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 var object2; const env0_0 = require; const closure = trackImpression; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const env0_3 = importAll(31) /* metro dependency 31 */; const channelStore = importDefault(1379) /* metro dependency 1379: ChannelStore */; const selectedChannelStore = importDefault(1934) /* metro dependency 1934: SelectedChannelStore */; const selectedGuildStore = importDefault(3969) /* metro dependency 3969: SelectedGuildStore */; let value = require(684) /* metro dependency 684: ImpressionStore */; 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; object2 = {}; const AnalyticEventConfigs = (require(683) /* metro dependency 683: AnalyticsUtils */).AnalyticEventConfigs; object2.analyticEventConfigs = AnalyticEventConfigs; object2.dispatcher = importDefault(694) /* metro dependency 694: Dispatcher */; object2.TRACK_ACTION_NAME = 'TRACK'; const env0_12 = Reflect.apply(trackMaker, value, [object2]); (require(2) /* metro dependency 2 */).fileFinishedImporting('modules/app_analytics/useTrackImpression.tsx'); exports.default = useTrackImpression; exports.trackImpression = closure; } 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 object2; var moduleValue2; var moduleValue3; 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 = (require(480) /* metro dependency 480: AnalyticsUtils */).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; object2 = {impression_type: type}; object2.location = getLocation(); moduleValue2 = require(4863) /* metro dependency 4863: AppAnalyticsUtils */; copyDataProperties(object2, moduleValue2.collectGuildAnalyticsMetadata(r17), r17); moduleValue3 = require(4863) /* metro dependency 4863: AppAnalyticsUtils */; copyDataProperties(object2, moduleValue3.collectChannelAnalyticsMetadata(ChannelStore.getChannel(r15)), r17); copyDataProperties(object2, properties, r17); value7 = Reflect.apply(expandEventProperties, moduleValue, [object2]); 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; object2 = {impression_type: type}; object2.location = getLocation(); moduleValue2 = require(4863) /* metro dependency 4863: AppAnalyticsUtils */; copyDataProperties(object2, moduleValue2.collectGuildAnalyticsMetadata(r17), r17); moduleValue3 = require(4863) /* metro dependency 4863: AppAnalyticsUtils */; copyDataProperties(object2, moduleValue3.collectChannelAnalyticsMetadata(ChannelStore.getChannel(r15)), r17); copyDataProperties(object2, properties, r17); value7 = Reflect.apply(expandEventProperties, moduleValue, [object2]); 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; object2 = {impression_type: type}; object2.location = getLocation(); moduleValue2 = require(4863) /* metro dependency 4863: AppAnalyticsUtils */; copyDataProperties(object2, moduleValue2.collectGuildAnalyticsMetadata(r17), r17); moduleValue3 = require(4863) /* metro dependency 4863: AppAnalyticsUtils */; copyDataProperties(object2, moduleValue3.collectChannelAnalyticsMetadata(ChannelStore.getChannel(r15)), r17); copyDataProperties(object2, properties, r17); value7 = Reflect.apply(expandEventProperties, moduleValue, [object2]); 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); (importDefault(4594) /* metro dependency 4594: 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 object2; const value3 = (importDefault(644) /* metro dependency 644 */)(env0_3.current, env0_0); if (!value3) { env0_3.current = env0_0; } const defaultImport2 = importDefault(644) /* metro dependency 644 */; 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; } object2 = {}; copyDataProperties(object2, env0_0, r7); object2['sequenceId'] = (importDefault(5081) /* metro dependency 5081 */)('impression_'); trackImpression(object2, env0_1.disableTrack); } else { object2 = {}; copyDataProperties(object2, env0_0, r7); object2['sequenceId'] = (importDefault(5081) /* metro dependency 5081 */)('impression_'); trackImpression(object2, env0_1.disableTrack); } return _fun68454; } 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(); } 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); } }