/* Metro module 9589; source: modules/icymi/ICYMIAnalytics.tsx; dependencies: [9569, 661, 8370, 7230, 683, 2] */ import AnalyticsUtils from '../../utils/AnalyticsUtils.tsx'; /* Metro dependency 683 */ import ICYMIStore from './ICYMIStore.tsx'; /* Metro dependency 9569 */ import * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */ import * as ConstantsModule from '../../Constants.tsx'; /* Metro dependency 661 */ import * as ICYMITypesModule from './ICYMITypes.tsx'; /* Metro dependency 7230 */ function _fun75101(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#75101, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9775:6, offset: 0x01da2b0e, size: 429 bytes, params: 8, frame: 19 const env0_0 = require; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); object = {trackItemInteraction: trackItemInteraction, trackItemShortImpression: trackItemShortImpression, trackItemLongImpression: trackItemLongImpression, trackFeedLoaded: trackFeedLoaded, trackFeedShown: function(a0) { var defaultImport = importDefault(dependencyMap[4]); var FEED_SHOWN = AnalyticEvents.FEED_SHOWN; var object = {}; object.load_id = ICYMIStore.getLoadId(); object.home_session_id = a0.homeSessionId; object.variant = a0.variant; defaultImport.track(FEED_SHOWN, object); }, trackFeedFirstScrollStarted: function() { var defaultImport = importDefault(dependencyMap[4]); var HOME_FIRST_SCROLL_STARTED = AnalyticEvents.HOME_FIRST_SCROLL_STARTED; var object = {}; object.load_id = ICYMIStore.getLoadId(); object.home_session_id = 'gravity'; defaultImport.track(HOME_FIRST_SCROLL_STARTED, object); }, trackFeedFeedbackPromptViewed: function() { importDefault(dependencyMap[4]).track(AnalyticEvents.HOME_FEEDBACK_PROMPT_VIEWED); }, trackFeedFeedbackSubmitted: function(a0) { var defaultImport = importDefault(dependencyMap[4]); var HOME_FEEDBACK_SUBMITTED = AnalyticEvents.HOME_FEEDBACK_SUBMITTED; var object = {}; var icymiStoreBinding = ICYMIStore; object.load_id = icymiStoreBinding.getLoadId(); object.home_session_id = 'gravity'; copyDataProperties(object, a0, icymiStoreBinding); defaultImport.track(HOME_FEEDBACK_SUBMITTED, object); }, trackFeedOnboardingScreenSkipped: function(a0) { var defaultImport = importDefault(dependencyMap[4]); var ICYMI_ONBOARDING_SCREEN_SKIPPED = AnalyticEvents.ICYMI_ONBOARDING_SCREEN_SKIPPED; defaultImport.track(ICYMI_ONBOARDING_SCREEN_SKIPPED, {location: a0.location}); }, trackFeedOnboardingGuildToggled: function(a0) { var defaultImport = importDefault(dependencyMap[4]); var ICYMI_ONBOARDING_GUILD_TOGGLED = AnalyticEvents.ICYMI_ONBOARDING_GUILD_TOGGLED; defaultImport.track(ICYMI_ONBOARDING_GUILD_TOGGLED, {guild_id: a0.guildId, toggled: a0.toggled}); }, trackFeedOnboardingCategoryToggled: function(a0) { var defaultImport = importDefault(dependencyMap[4]); var ICYMI_ONBOARDING_CATEGORY_TOGGLED = AnalyticEvents.ICYMI_ONBOARDING_CATEGORY_TOGGLED; defaultImport.track(ICYMI_ONBOARDING_CATEGORY_TOGGLED, {category_id: a0.categoryId, toggled: a0.toggled}); }, trackFeedEmptyLoadingSeen: function() { var defaultImport = importDefault(dependencyMap[4]); var ICYMI_FEED_EMPTY_LOADING_SEEN = AnalyticEvents.ICYMI_FEED_EMPTY_LOADING_SEEN; var object = {}; var icymiStoreBinding = ICYMIStore; object.load_id = icymiStoreBinding.getLoadId(); object.version = icymiStoreBinding.getVersion(); defaultImport.track(ICYMI_FEED_EMPTY_LOADING_SEEN, object); }, trackFeedEmptyLoadingComplete: function(a0) { var defaultImport = importDefault(dependencyMap[4]); var ICYMI_FEED_EMPTY_LOADING_COMPLETE = AnalyticEvents.ICYMI_FEED_EMPTY_LOADING_COMPLETE; var object = {}; var icymiStoreBinding = ICYMIStore; object.load_id = icymiStoreBinding.getLoadId(); object.dwell_time_ms = a0.dwellTimeMs; object.version = icymiStoreBinding.getVersion(); defaultImport.track(ICYMI_FEED_EMPTY_LOADING_COMPLETE, object); }, trackFeedEmptyLoadingAbandoned: function(a0) { var defaultImport = importDefault(dependencyMap[4]); var ICYMI_FEED_EMPTY_LOADING_ABANDONED = AnalyticEvents.ICYMI_FEED_EMPTY_LOADING_ABANDONED; var object = {}; var icymiStoreBinding = ICYMIStore; object.load_id = icymiStoreBinding.getLoadId(); object.dwell_time_ms = a0.dwellTimeMs; object.version = icymiStoreBinding.getVersion(); defaultImport.track(ICYMI_FEED_EMPTY_LOADING_ABANDONED, object); }, trackFeedSessionStarted: trackFeedSessionStarted, trackFeedSessionCompleted: trackFeedSessionCompleted, trackFeedItemDwell1s: trackFeedItemDwell1s, trackFeedItemDwelled: trackFeedItemDwelled, trackFeedItemActioned: trackFeedItemActioned, trackFeedFilterActioned: trackFeedFilterActioned, trackFeedPageActioned: trackFeedPageActioned}; (FileImportTrackerModule).fileFinishedImporting('modules/icymi/ICYMIAnalytics.tsx'); exports.DEFAULT_UX_VARIATION = 'default'; exports.ICYMIAnalytics = object; function listItemToType(a0) { // fn#75102, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9775:167, offset: 0x01da2cbb, size: 239 bytes, params: 2, frame: 16 const kind = a0.data.kind; if (kind === 'end') { return 'end'; } if (kind === 'loading') { return 'loading'; } const value = 'message'; if (value === kind) { return a0.channelType !== ChannelTypes.GUILD_ANNOUNCEMENT ? value : 'announcement'; } if (kind === 'guildEvent') { return 'guild_event'; } if (kind === 'contentInventory') { return a0.data.content.content_type !== (require(8370) /* metro dependency 8370: ContentInventoryEntryType */).ContentInventoryEntryType.CUSTOM_STATUS ? 'hotwheels_gaming_activity' : 'hotwheels_custom_status'; } if (kind === 'recommendedGuilds') { return 'recommended_guilds'; } if (kind === 'forumThread') { return 'forum_thread'; } if (kind === 'icymiHeader') { return 'icymi_header'; } return 'unknown'; } function dehydratedItemToType(a0) { // fn#75103, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9775:701, offset: 0x01da2daa, size: 256 bytes, params: 2, frame: 15 const type = a0.type; const ICYMIItemTypes = (ICYMITypesModule).ICYMIItemTypes; const MESSAGE = ICYMIItemTypes.MESSAGE; if (MESSAGE === type) { return a0.data.channel_type !== ChannelTypes.GUILD_ANNOUNCEMENT ? 'message' : 'announcement'; } const ACTIVITY = ICYMIItemTypes.ACTIVITY; if (ACTIVITY === type) { return 'hotwheels_gaming_activity'; } const CUSTOM_STATUS = ICYMIItemTypes.CUSTOM_STATUS; if (CUSTOM_STATUS === type) { return 'hotwheels_custom_status'; } const GUILD_EVENT = ICYMIItemTypes.GUILD_EVENT; if (GUILD_EVENT === type) { return 'guild_event'; } const RECOMMENDED_GUILDS = ICYMIItemTypes.RECOMMENDED_GUILDS; if (RECOMMENDED_GUILDS === type) { return 'recommended_guilds'; } } function trackItemInteraction(a0) { // fn#75104, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9775:1115, offset: 0x01da2eaa, size: 189 bytes, params: 2, frame: 18 const defaultImport = AnalyticsUtils; const track = defaultImport.track; const FEED_ITEM_INTERACTED = AnalyticEvents.FEED_ITEM_INTERACTED; const object = {}; const icymiStoreBinding = ICYMIStore; object.load_id = icymiStoreBinding.getLoadId(); object.feed_item_type = a0.type; object.feed_item_id = a0.id; object.home_session_id = 'gravity'; object.action_type = a0.actionType; object.feed_item_index = icymiStoreBinding.getIndexInHydratedFeed(a0.id); object.icymi_session_id = a0.icymiSessionId; object.impression_id = a0.impressionId; object.ux_variation = a0.uxVariation; object.session_interaction_index = a0.sessionInteractionIndex; Reflect.apply(track, defaultImport, [FEED_ITEM_INTERACTED, object]); } function trackItemShortImpression(a0, a1, a2) { // fn#75105, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9775:1482, offset: 0x01da2f67, size: 234 bytes, params: 4, frame: 19 const defaultImport = AnalyticsUtils; const track = defaultImport.track; const FEED_ITEM_SEEN_BATCH = AnalyticEvents.FEED_ITEM_SEEN_BATCH; const object = {}; object.load_id = ICYMIStore.getLoadId(); object.home_session_id = 'gravity'; object.feed_item_ids = a0.map(function(a0) { return a0.item.id; }); object.feed_item_types = a0.map(function(a0) { return listItemToType(a0.item); }); object.num_items = a0.length; object.all_feed_item_ids = a1.map(function(a0) { return a0.id; }); object.all_feed_item_types = a1.map(function(a0) { return a0.type; }); object.num_all_items = a1.length; object.all_feed_item_indices = a1.map(function(a0, a1) { return a1; }); object.feed_version = a2; object.version = 3; Reflect.apply(track, defaultImport, [FEED_ITEM_SEEN_BATCH, object]); } function trackItemLongImpression(a0, a1, a2) { // fn#75111, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9775:1871, offset: 0x01da3069, size: 234 bytes, params: 4, frame: 19 const defaultImport = AnalyticsUtils; const track = defaultImport.track; const FEED_ITEM_SEEN_LONG = AnalyticEvents.FEED_ITEM_SEEN_LONG; const object = {}; object.load_id = ICYMIStore.getLoadId(); object.home_session_id = 'gravity'; object.feed_item_ids = a0.map(function(a0) { return a0.item.id; }); object.feed_item_types = a0.map(function(a0) { return listItemToType(a0.item); }); object.num_items = a0.length; object.all_feed_item_ids = a1.map(function(a0) { return a0.id; }); object.all_feed_item_types = a1.map(function(a0) { return a0.type; }); object.num_all_items = a1.length; object.all_feed_item_indices = a1.map(function(a0, a1) { return a1; }); object.feed_version = a2; object.version = 3; Reflect.apply(track, defaultImport, [FEED_ITEM_SEEN_LONG, object]); } function trackFeedLoaded({unreadFeedItems, readFeedItems, newTrackingProps, homeSessionId, hasNewContent}) { // fn#75117, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9775:2258, offset: 0x01da3153, size: 222 bytes, params: 2, frame: 21 unreadFeedItems.forEach(_fun75118); readFeedItems.forEach(_fun75119); const defaultImport = AnalyticsUtils; const track = defaultImport.track; const FEED_LOADED = AnalyticEvents.FEED_LOADED; const object = {}; copyDataProperties(object, newTrackingProps, undefined); object['home_session_id'] = homeSessionId; object['tab_badged'] = hasNewContent; object['unread_feed_item_ids'] = []; object['read_feed_item_ids'] = []; object['unread_feed_item_types'] = []; object['read_feed_item_types'] = []; Reflect.apply(track, defaultImport, [FEED_LOADED, object]); function _fun75118(a0) { // fn#75118, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9775:2328, offset: 0x01da3231, size: 55 bytes, params: 2, frame: 13 let binding = env0_0; binding.push(a0.id); binding = env0_2; binding.push(dehydratedItemToType(a0)); } function _fun75119(a0) { // fn#75119, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9775:2405, offset: 0x01da3268, size: 55 bytes, params: 2, frame: 13 let binding = env0_1; binding.push(a0.id); binding = env0_3; binding.push(dehydratedItemToType(a0)); } } function trackFeedSessionStarted({sessionStartTimeMs, icymiSessionId, previousIcymiSessionCount, uxVariation}) { // fn#75130, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9775:3923, offset: 0x01da35be, size: 131 bytes, params: 2, frame: 17 const defaultImport = AnalyticsUtils; const track = defaultImport.track; const FEED_SESSION_STARTED = AnalyticEvents.FEED_SESSION_STARTED; const object = {}; const icymiStoreBinding = ICYMIStore; object.load_id = icymiStoreBinding.getLoadId(); object.version = icymiStoreBinding.getVersion(); object.session_start_time_ms = sessionStartTimeMs; object.icymi_session_id = icymiSessionId; object.previous_icymi_session_count = previousIcymiSessionCount; object.ux_variation = uxVariation; Reflect.apply(track, defaultImport, [FEED_SESSION_STARTED, object]); } function trackFeedSessionCompleted({sessionDurationMs, sessionStartTimeMs, sessionEndTimeMs, impressionCount, uniqueImpressionCount, icymiSessionId, feedReloadCount, feedDwelledItemsChangedCount, feedFetchCount, impressionItemTypes, latestDwellStartTimeMs, previousIcyMiSessionCount, uxVariation, interactionCount, dwelledCount, uniqueDwelledCount}) { // fn#75131, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9775:4197, offset: 0x01da3641, size: 285 bytes, params: 2, frame: 17 const defaultImport = AnalyticsUtils; const track = defaultImport.track; const FEED_SESSION_COMPLETED = AnalyticEvents.FEED_SESSION_COMPLETED; const object = {}; const icymiStoreBinding = ICYMIStore; object.load_id = icymiStoreBinding.getLoadId(); object.version = icymiStoreBinding.getVersion(); object.session_duration_ms = sessionDurationMs; object.session_start_time_ms = sessionStartTimeMs; object.session_end_time_ms = sessionEndTimeMs; object.impression_count = impressionCount; object.unique_impression_count = uniqueImpressionCount; object.icymi_session_id = icymiSessionId; object.feed_reload_count = feedReloadCount; object.feed_visible_items_changed_count = feedDwelledItemsChangedCount; object.feed_fetch_count = feedFetchCount; object.impression_item_types = impressionItemTypes; object.latest_dwell_start_time_ms = latestDwellStartTimeMs; object.previous_icymi_session_count = previousIcyMiSessionCount; object.ux_variation = uxVariation; object.interaction_count = interactionCount; object.dwelled_count = dwelledCount; object.unique_dwelled_count = uniqueDwelledCount; Reflect.apply(track, defaultImport, [FEED_SESSION_COMPLETED, object]); } function trackFeedItemDwell1s({impressionId, itemId, itemType, dwellStartTimeMs, icymiSessionId, triggerType, itemOccurenceCountInSession, itemFeedIndex, isInitiallyVisible, itemScore, itemChannelType, itemCardHeight, isDwelling, interactionActionTypes, interactionCount, uxVariation, sessionImpressionIndex}) { // fn#75132, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9775:4975, offset: 0x01da375e, size: 288 bytes, params: 2, frame: 18 const defaultImport = AnalyticsUtils; const track = defaultImport.track; const FEED_ITEM_1S_DWELLED = AnalyticEvents.FEED_ITEM_1S_DWELLED; const object = {}; const icymiStoreBinding = ICYMIStore; object.load_id = icymiStoreBinding.getLoadId(); object.version = icymiStoreBinding.getVersion(); object.impression_id = impressionId; object.item_id = itemId; object.item_type = itemType; object.dwell_start_time_ms = dwellStartTimeMs; object.icymi_session_id = icymiSessionId; object.trigger_type = triggerType; object.item_occurence_count_in_session = itemOccurenceCountInSession; object.item_feed_index = itemFeedIndex; object.is_initially_visible = isInitiallyVisible; object.item_score = itemScore; object.item_channel_type = itemChannelType ?? null; object.item_card_height = itemCardHeight; object.is_dwelling = isDwelling; object.interaction_action_types = interactionActionTypes; object.interaction_count = interactionCount; object.ux_variation = uxVariation; object.session_impression_index = sessionImpressionIndex; Reflect.apply(track, defaultImport, [FEED_ITEM_1S_DWELLED, object]); } function trackFeedItemDwelled({impressionId, dwellTimeMs, itemId, itemType, dwellStartTimeMs, dwellEndTimeMs, icymiSessionId, triggerType, itemOccurenceCountInSession, itemFeedIndex, isInitiallyVisible, itemScore, itemChannelType, itemCardHeight, uxVariation, interactionActionTypes, interactionCount, sessionImpressionIndex}) { // fn#75133, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9775:5693, offset: 0x01da387e, size: 299 bytes, params: 2, frame: 18 const defaultImport = AnalyticsUtils; const track = defaultImport.track; const FEED_ITEM_DWELLED = AnalyticEvents.FEED_ITEM_DWELLED; const object = {}; const icymiStoreBinding = ICYMIStore; object.load_id = icymiStoreBinding.getLoadId(); object.version = icymiStoreBinding.getVersion(); object.impression_id = impressionId; object.dwell_time_ms = dwellTimeMs; object.item_id = itemId; object.item_type = itemType; object.dwell_start_time_ms = dwellStartTimeMs; object.dwell_end_time_ms = dwellEndTimeMs; object.icymi_session_id = icymiSessionId; object.trigger_type = triggerType; object.item_occurence_count_in_session = itemOccurenceCountInSession; object.item_feed_index = itemFeedIndex; object.is_initially_visible = isInitiallyVisible; object.item_score = itemScore; object.item_channel_type = itemChannelType ?? null; object.item_card_height = itemCardHeight; object.ux_variation = uxVariation; object.interaction_action_types = interactionActionTypes; object.interaction_count = interactionCount; object.session_impression_index = sessionImpressionIndex; Reflect.apply(track, defaultImport, [FEED_ITEM_DWELLED, object]); } function trackFeedItemActioned(a0) { // fn#75134, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9775:6446, offset: 0x01da39a9, size: 233 bytes, params: 2, frame: 18 const defaultImport = AnalyticsUtils; const track = defaultImport.track; const FEED_ITEM_ACTIONED = AnalyticEvents.FEED_ITEM_ACTIONED; const object = {}; const icymiStoreBinding = ICYMIStore; object.load_id = icymiStoreBinding.getLoadId(); object.icymi_session_id = a0.icymiSessionId; object.ux_variation = a0.uxVariation; object.version = icymiStoreBinding.getVersion(); object.session_action_index = a0.sessionActionIndex; object.item_id = a0.itemId; object.item_type = a0.itemType; const impressionId = a0.impressionId; const value = null; object.impression_id = value != impressionId ? impressionId : value; object.action_gesture_type = a0.actionParameters.actionGestureType; object.action_target_element = a0.actionParameters.actionTargetElement; object.action_intent_type = a0.actionParameters.actionIntentType; object.action_destination_type = a0.actionParameters.actionDestinationType; Reflect.apply(track, defaultImport, [FEED_ITEM_ACTIONED, object]); } function trackFeedFilterActioned(a0) { // fn#75135, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9775:6986, offset: 0x01da3a92, size: 427 bytes, params: 2, frame: 19 const defaultImport = AnalyticsUtils; const track = defaultImport.track; const FEED_FILTER_ACTIONED = AnalyticEvents.FEED_FILTER_ACTIONED; const object = {}; const icymiStoreBinding = ICYMIStore; object.load_id = icymiStoreBinding.getLoadId(); object.icymi_session_id = a0.icymiSessionId; object.ux_variation = a0.uxVariation; object.version = icymiStoreBinding.getVersion(); object.session_action_index = a0.sessionActionIndex; object.filter_setting_context = a0.filterParameters.filterSettingContext; object.filter_target_type = a0.filterParameters.filterTargetType; const targetGuildId = a0.filterParameters.targetGuildId; const value = null; object.target_guild_id = value != targetGuildId ? targetGuildId : value; const targetChannelId = a0.filterParameters.targetChannelId; object.target_channel_id = value != targetChannelId ? targetChannelId : value; const previousTuneSetting = a0.filterParameters.previousTuneSetting; object.previous_tune_setting = value != previousTuneSetting ? previousTuneSetting : value; const newTuneSetting = a0.filterParameters.newTuneSetting; object.new_tune_setting = value != newTuneSetting ? newTuneSetting : value; const previousOutSetting = a0.filterParameters.previousOutSetting; object.previous_out_setting = value != previousOutSetting ? previousOutSetting : value; const newOutSetting = a0.filterParameters.newOutSetting; object.new_out_setting = value != newOutSetting ? newOutSetting : value; const itemId = a0.itemId; object.item_id = value != itemId ? itemId : value; const itemType = a0.itemType; object.item_type = value != itemType ? itemType : value; const impressionId = a0.impressionId; object.impression_id = value != impressionId ? impressionId : value; Reflect.apply(track, defaultImport, [FEED_FILTER_ACTIONED, object]); } function trackFeedPageActioned(a0) { // fn#75136, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9775:7884, offset: 0x01da3c3d, size: 188 bytes, params: 2, frame: 17 const defaultImport = AnalyticsUtils; const track = defaultImport.track; const FEED_PAGE_ACTIONED = AnalyticEvents.FEED_PAGE_ACTIONED; const object = {}; const icymiStoreBinding = ICYMIStore; object.load_id = icymiStoreBinding.getLoadId(); object.icymi_session_id = a0.icymiSessionId; object.ux_variation = a0.uxVariation; object.version = icymiStoreBinding.getVersion(); object.session_action_index = a0.sessionActionIndex; object.action_gesture_type = a0.actionParameters.actionGestureType; object.action_target_element = a0.actionParameters.actionTargetElement; object.action_intent_type = a0.actionParameters.actionIntentType; object.action_destination_type = a0.actionParameters.actionDestinationType; Reflect.apply(track, defaultImport, [FEED_PAGE_ACTIONED, object]); } } global.__d(_fun75101, 9589, [9569, 661, 8370, 7230, 683, 2]) /* metro module 9589, dependencies: [9569, 661, 8370, 7230, 683, 2] */;