Files
2026-07-28 01:06:53 +03:00

501 lines
29 KiB
TypeScript

/* Metro module 8515; source: modules/user_profile/UserProfileAnalyticsUtils.tsx; dependencies: [7670, 5221, 4492, 5109, 1945, 4396, 3793, 1878, 5189, 8516, 661, 482, 1423, 8490, 683, 4863, 8517, 2] */
import AnalyticsUtils from '../../utils/AnalyticsUtils.tsx'; /* Metro dependency 683 */
import UserStore from '../../stores/UserStore.tsx'; /* Metro dependency 1878 */
import GuildMemberStore from '../../stores/GuildMemberStore.tsx'; /* Metro dependency 1945 */
import RelationshipStore from '../../stores/RelationshipStore.tsx'; /* Metro dependency 3793 */
import PresenceStore from '../../stores/PresenceStore.tsx'; /* Metro dependency 4396 */
import ApplicationStreamingStore from '../../stores/ApplicationStreamingStore.tsx'; /* Metro dependency 4492 */
import AuthorizedAppsStore from '../../stores/AuthorizedAppsStore.tsx'; /* Metro dependency 5109 */
import UserProfileStore from './UserProfileStore.tsx'; /* Metro dependency 5189 */
import UserAffinitiesV2Store from '../user_affinities/UserAffinitiesV2Store.tsx'; /* Metro dependency 5221 */
import BadgeDirectoryStore from '../badges/BadgeDirectoryStore.tsx'; /* Metro dependency 7670 */
import * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ConstantsModule from '../../external/discord_common/js/shared/Constants.tsx'; /* Metro dependency 482 */
import * as ConstantsModule2 from '../../Constants.tsx'; /* Metro dependency 661 */
import * as AppAnalyticsUtilsModule from '../app_analytics/AppAnalyticsUtils.tsx'; /* Metro dependency 4863 */
import * as AuthorizedAppsStoreModule from '../../stores/AuthorizedAppsStore.tsx'; /* Metro dependency 5109 */
import * as ConstantsModule3 from './Constants.tsx'; /* Metro dependency 8516 */
import * as UserProfilePerformanceAnalyticsExperimentModule from './experiments/UserProfilePerformanceAnalyticsExperiment.tsx'; /* Metro dependency 8517 */
function _fun67485(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#67485, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8700:6, offset: 0x01c25102, size: 535 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const constantsModule = ConstantsModule2;
const env0_14 = constantsModule.ActivityTypes;
const env0_15 = constantsModule.AnalyticEvents;
const getActivityType2 = getActivityType;
const getTrackUserRelationshipProperties2 = getTrackUserRelationshipProperties;
const trackUserProfileAction2 = trackUserProfileAction;
(FileImportTrackerModule).fileFinishedImporting('modules/user_profile/UserProfileAnalyticsUtils.tsx');
exports.getActivityType = getActivityType2;
exports.getTrackUserRelationshipProperties = getTrackUserRelationshipProperties2;
exports.trackUserProfileAction = trackUserProfileAction2;
exports.maybeTrackUserProfileUiViewed = maybeTrackUserProfileUiViewed;
exports.trackUserProfileActivityJoined = trackUserProfileActivityJoined;
exports.trackUserProfileActivityAction = trackUserProfileActivityAction;
exports.trackUserProfileBadgeAction = trackUserProfileBadgeAction;
exports.trackDmProfileToggled = trackDmProfileToggled;
exports.trackUserProfileEditAction = trackUserProfileEditAction;
exports.trackUserProfileEditSaved = trackUserProfileEditSaved;
exports.trackUserProfileWishlistAction = trackUserProfileWishlistAction;
function getProfileProperties({user, userProfile, guildMember, guildMemberProfile}) { // fn#67486, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8700:336, offset: 0x01c25319, size: 581 bytes, params: 2, frame: 19
var moduleValue;
var moduleValue2;
const r3 = userProfile ?? guildMemberProfile;
const items2 = [];
let Boolean = global.Boolean;
if (Boolean(guildMember?.nick)) {
items2.push(TrackUserProfileProperties.NICKNAME);
}
Boolean = global.Boolean;
if (Boolean(r3?.pronouns)) {
items2.push(TrackUserProfileProperties.PRONOUNS);
}
Boolean = global.Boolean;
if (Boolean(user?.avatar)) {
moduleValue = require(1423) /* metro dependency 1423: AvatarUtils */;
items2.push(moduleValue.isAnimatedIconHash(user?.avatar) ? TrackUserProfileProperties.ANIMATED_AVATAR : TrackUserProfileProperties.AVATAR);
}
Boolean = global.Boolean;
if (Boolean(r3?.banner)) {
moduleValue2 = require(1423) /* metro dependency 1423: AvatarUtils */;
items2.push(moduleValue2.isAnimatedIconHash(r3?.banner) ? TrackUserProfileProperties.ANIMATED_BANNER : TrackUserProfileProperties.BANNER);
}
Boolean = global.Boolean;
if (Boolean(r3?.bio)) {
items2.push(TrackUserProfileProperties.BIO);
}
if (r3?.themeColors != null && r3.themeColors.find(function(a0) {
return a0 !== null;
}) !== undefined) {
items2.push(TrackUserProfileProperties.THEME);
}
if (user?.avatarDecoration != null) {
items2.push(TrackUserProfileProperties.AVATAR_DECORATION);
}
if (r3?.profileEffect != null) {
items2.push(TrackUserProfileProperties.PROFILE_EFFECT);
}
return items2;
}
function getUserStatus(a0) { // fn#67488, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8700:1096, offset: 0x01c2555e, size: 128 bytes, params: 2, frame: 14
const presenceStoreBinding = PresenceStore;
const status = presenceStoreBinding.getStatus(a0);
const isMobileOnline2 = presenceStoreBinding.isMobileOnline(a0);
const ONLINE = StatusTypes.ONLINE;
return status !== ONLINE ? status !== StatusTypes.ONLINE ? status : '' + status + '-desktop' : isMobileOnline2 ? '' + status + '-mobile' : status !== StatusTypes.ONLINE ? status : '' + status + '-desktop';
}
function getActivityType(a0) { // fn#67489, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8700:1227, offset: 0x01c255de, size: 81 bytes, params: 2, frame: 15
var r1;
var r0;
var value2;
var Object;
var value4;
var value5;
const value = a0;
if (value == null) {
r0 = value;
} else {
value2 = 'VOICE';
if (value2 === value) {
r1 = value2;
} else {
Object = global.Object;
value4 = Object.keys(ActivityTypes);
Object = global.Object;
value5 = Object.values(ActivityTypes);
r1 = value4[value5.indexOf(value)];
}
r0 = r1;
}
return r0;
}
function getTrackUserProfileProperties({layout, userId, guildId, sessionId, sourceSessionId, showGuildProfile}) { // fn#67490, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8700:1334, offset: 0x01c2562f, size: 572 bytes, params: 2, frame: 24
var r6;
var badges;
const value = undefined;
showGuildProfile = showGuildProfile === value || showGuildProfile;
const user = UserStore.getUser(userId);
if (user == null) {
return {};
}
const displayProfile = (require(8490) /* metro dependency 8490: useDisplayProfile */).getDisplayProfile(user == null ? value : user.id,
showGuildProfile ? guildId : value);
const r9 = showGuildProfile && guildId != null ? GuildMemberStore.getMember(guildId,
user == null ? value : user.id) : null;
const object = {profile_layout: layout, profile_session_id: sessionId, source_profile_session_id: sourceSessionId};
object.profile_properties = getProfileProperties({user: user,
userProfile: displayProfile == null ? value : displayProfile._userProfile});
object.guild_profile_properties = getProfileProperties({guildMember: r9,
guildMemberProfile: displayProfile == null ? value : displayProfile._guildMemberProfile});
const presenceStoreBinding = PresenceStore;
const getActivities = presenceStoreBinding.getActivities;
object.profile_activity_types = Reflect.apply(getActivities, presenceStoreBinding, [user.id]).map(function(a0) {
return a0.type;
}).filter(function(a0) {
return a0 !== undefined;
});
if (displayProfile == null) {
r6 = value;
} else {
badges = displayProfile.getBadges();
r6 = badges == null ? value : badges.map(function(a0) {
return a0.id;
}).filter(_fun67494);
}
r6 = r6 ?? [];
object.profile_badges = r6;
const avatarDecoration = user.avatarDecoration;
object.avatar_decoration_sku_id = avatarDecoration == null ? value : avatarDecoration.skuId;
object.profile_effect_sku_id = displayProfile == null || displayProfile.profileEffect == null ? value : displayProfile.profileEffect.skuId;
object.user_status = getUserStatus(user.id);
object.is_guild_profile = (displayProfile == null ? value : displayProfile.guildId) != null;
object.is_bot_profile = user.bot;
const r2 = displayProfile == null ? value : displayProfile.private;
object.is_private_to_viewer = r2 != null && r2;
return object;
}
function getTrackUserRelationshipProperties({userId}) { // fn#67495, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8700:2424, offset: 0x01c2586b, size: 182 bytes, params: 2, frame: 15
if (userId == null) {
return {};
}
const userAffinity = UserAffinitiesV2Store.getUserAffinity(userId);
const object = {related_user_id: userId};
const relationshipStoreBinding = RelationshipStore;
object.relationship_type = relationshipStoreBinding.getRelationshipType(userId);
object.related_since = relationshipStoreBinding.getSince(userId);
const userProfileStoreBinding = UserProfileStore;
object.num_mutual_friends = userProfileStoreBinding.getMutualFriendsCount(userId);
object.num_mutual_guilds = userProfileStoreBinding.getMutualGuilds(userId)?.length;
object.communication_probability = userAffinity?.communicationProbability;
object.communication_rank = userAffinity?.communicationRank;
return object;
}
function getTrackUserProfileApplicationProperties(a0) { // fn#67496, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8700:2864, offset: 0x01c25921, size: 83 bytes, params: 2, frame: 15
const value = null;
return {application_id: a0,
application_linked: value != a0 ? AuthorizedAppsStore.getFetchStateForApplication(a0) !== FetchState.FETCHED ? value : value != AuthorizedAppsStore.getNewestTokenForApplication(a0) : value};
}
function trackUserProfileAction(a0) { // fn#67497, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8700:3029, offset: 0x01c25974, size: 273 bytes, params: 2, frame: 30
const guildId = a0.guildId;
const channelId = a0.channelId;
const messageId = a0.messageId;
const roleId = a0.roleId;
const widgetType = a0.widgetType;
const analyticsLocations = a0.analyticsLocations;
const action = a0.action;
const section = a0.section;
const applicationId = a0.applicationId;
const defaultImport = AnalyticsUtils;
const track = defaultImport.track;
const USER_PROFILE_ACTION = AnalyticEvents.USER_PROFILE_ACTION;
const object = {};
copyDataProperties(object, AppAnalyticsUtilsModule.collectGuildAnalyticsMetadata(guildId), guildId);
copyDataProperties(object, AppAnalyticsUtilsModule.collectChannelAnalyticsMetadataFromId(channelId), guildId);
copyDataProperties(object, getTrackUserProfileProperties(a0), guildId);
copyDataProperties(object, getTrackUserRelationshipProperties(a0), guildId);
copyDataProperties(object, getTrackUserProfileApplicationProperties(applicationId), guildId);
object['location_stack'] = analyticsLocations;
object['profile_action'] = action;
object['profile_section'] = section;
object['source_message_id'] = messageId;
object['source_role_id'] = roleId;
object['widget_type'] = widgetType;
Reflect.apply(track, defaultImport, [USER_PROFILE_ACTION, object]);
}
function maybeTrackUserProfileUiViewed(a0) { // fn#67498, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8700:3804, offset: 0x01c25a85, size: 380 bytes, params: 2, frame: 30
var r1;
var guildId;
var channelId;
var analyticsLocations;
var profileUi;
var viewStartedAt;
var fetchStartedAt;
var timeToInteractiveMs;
var timeToLoadMs;
var timeToFetchMs;
var value2;
var defaultImport;
var track;
var USER_PROFILE_UI_VIEWED;
var object;
var moduleValue2;
var moduleValue3;
if (UserProfilePerformanceAnalyticsExperimentModule.isUserProfilePerformanceAnalyticsEnabled('UserProfileAnalyticsUtils')) {
guildId = a0.guildId;
channelId = a0.channelId;
analyticsLocations = a0.analyticsLocations;
profileUi = a0.profileUi;
viewStartedAt = a0.viewStartedAt;
fetchStartedAt = a0.fetchStartedAt;
timeToInteractiveMs = a0.timeToInteractiveMs;
timeToLoadMs = a0.timeToLoadMs;
timeToFetchMs = a0.timeToFetchMs;
value2 = 0;
r1 = timeToInteractiveMs ?? value2;
r1 = r1 <= value2 || (timeToLoadMs ?? value2) <= value2;
r1 = !r1 ? (timeToFetchMs ?? value2) <= value2 : r1;
if (!r1) {
defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
track = defaultImport.track;
USER_PROFILE_UI_VIEWED = AnalyticEvents.USER_PROFILE_UI_VIEWED;
object = {};
moduleValue2 = require(4863) /* metro dependency 4863: AppAnalyticsUtils */;
copyDataProperties(object, moduleValue2.collectGuildAnalyticsMetadata(guildId), guildId);
moduleValue3 = require(4863) /* metro dependency 4863: AppAnalyticsUtils */;
copyDataProperties(object, moduleValue3.collectChannelAnalyticsMetadataFromId(channelId), guildId);
copyDataProperties(object, getTrackUserProfileProperties(a0), guildId);
copyDataProperties(object, getTrackUserRelationshipProperties(a0), guildId);
object['location_stack'] = analyticsLocations;
object['profile_ui'] = profileUi;
object['view_started_at'] = viewStartedAt;
object['fetch_started_at'] = fetchStartedAt;
object['time_to_interactive_ms'] = timeToInteractiveMs;
object['time_to_load_ms'] = timeToLoadMs;
object['time_to_fetch_ms'] = timeToFetchMs;
Reflect.apply(track, defaultImport, [USER_PROFILE_UI_VIEWED, object]);
}
}
}
function trackUserProfileActivityJoined(a0) { // fn#67499, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8700:4490, offset: 0x01c25c01, size: 288 bytes, params: 2, frame: 30
const guildId = a0.guildId;
const channelId = a0.channelId;
const analyticsLocations = a0.analyticsLocations;
const activityType = a0.activityType;
const activityName = a0.activityName;
const activityPlatform = a0.activityPlatform;
const activitySessionId = a0.activitySessionId;
const applicationId = a0.applicationId;
const voiceChannelId = a0.voiceChannelId;
const defaultImport = AnalyticsUtils;
const track = defaultImport.track;
const USER_PROFILE_ACTIVITY_JOINED = AnalyticEvents.USER_PROFILE_ACTIVITY_JOINED;
const object = {};
copyDataProperties(object, AppAnalyticsUtilsModule.collectGuildAnalyticsMetadata(guildId), guildId);
copyDataProperties(object, AppAnalyticsUtilsModule.collectChannelAnalyticsMetadataFromId(channelId), guildId);
copyDataProperties(object, getTrackUserProfileProperties(a0), guildId);
copyDataProperties(object, getTrackUserRelationshipProperties(a0), guildId);
object['location_stack'] = analyticsLocations;
object['activity_type'] = voiceChannelId != null ? 'VOICE' : getActivityType(activityType);
object['activity_name'] = activityName;
object['activity_platform'] = activityPlatform;
object['activity_session_id'] = activitySessionId;
object['application_id'] = applicationId;
object['voice_channel_id'] = voiceChannelId;
Reflect.apply(track, defaultImport, [USER_PROFILE_ACTIVITY_JOINED, object]);
}
function trackUserProfileActivityAction(a0) { // fn#67500, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8700:5079, offset: 0x01c25d21, size: 531 bytes, params: 2, frame: 32
const guildId = a0.guildId;
const channelId = a0.channelId;
const analyticsLocations = a0.analyticsLocations;
const action = a0.action;
const display = a0.display;
const activity = a0.activity;
const stream = a0.stream;
const entry = a0.entry;
const outbox = a0.outbox;
const voiceChannelId = a0.voiceChannelId;
const value2 = undefined;
const defaultImport = AnalyticsUtils;
const track = defaultImport.track;
const USER_PROFILE_ACTIVITY_ACTION = AnalyticEvents.USER_PROFILE_ACTIVITY_ACTION;
const object = {};
copyDataProperties(object, AppAnalyticsUtilsModule.collectGuildAnalyticsMetadata(guildId), guildId);
copyDataProperties(object, AppAnalyticsUtilsModule.collectChannelAnalyticsMetadataFromId(channelId), guildId);
copyDataProperties(object, getTrackUserProfileProperties(a0), guildId);
copyDataProperties(object, getTrackUserRelationshipProperties(a0), guildId);
object['location_stack'] = analyticsLocations;
object['activity_action'] = action;
object['activity_display'] = display;
object['activity_type'] = getActivityType(stream != null ? ActivityTypes.STREAMING : activity == null ? value2 : activity.type);
object['activity_name'] = activity == null ? value2 : activity.name;
object['activity_platform'] = activity == null ? value2 : activity.platform;
object['activity_session_id'] = activity == null ? value2 : activity.session_id;
object['activity_application_id'] = activity == null ? value2 : activity.application_id;
object['item_id'] = entry == null ? value2 : entry.id;
object['author_id_v2'] = entry == null ? value2 : entry.author_id;
object['item_ids'] = outbox == null ? value2 : outbox.entries.map(function(a0) {
return a0.id;
});
object['author_ids_v2'] = outbox == null ? value2 : outbox.entries.map(function(a0) {
return a0.author_id;
});
object['voice_channel_id'] = voiceChannelId;
Reflect.apply(track, defaultImport, [USER_PROFILE_ACTIVITY_ACTION, object]);
return value2;
}
function trackUserProfileBadgeAction(a0) { // fn#67503, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8700:5994, offset: 0x01c25f3f, size: 292 bytes, params: 2, frame: 28
var r7;
var badgeById;
const guildId = a0.guildId;
const channelId = a0.channelId;
const analyticsLocations = a0.analyticsLocations;
const badgeId = a0.badgeId;
const badgeAction = a0.badgeAction;
const position = a0.position;
const userId = a0.userId;
const value = undefined;
if (badgeId != null) {
if (userId != null) {
badgeById = BadgeDirectoryStore.getBadgeById(badgeId, userId);
r7 = badgeById == null ? value : badgeById.current_tier;
} else {
r7 = value;
}
} else {
r7 = value;
}
const defaultImport = AnalyticsUtils;
const track = defaultImport.track;
const USER_PROFILE_BADGE_ACTION = AnalyticEvents.USER_PROFILE_BADGE_ACTION;
const object = {};
copyDataProperties(object, AppAnalyticsUtilsModule.collectGuildAnalyticsMetadata(guildId), guildId);
copyDataProperties(object, AppAnalyticsUtilsModule.collectChannelAnalyticsMetadataFromId(channelId), guildId);
copyDataProperties(object, getTrackUserProfileProperties(a0), guildId);
copyDataProperties(object, getTrackUserRelationshipProperties(a0), guildId);
object['location_stack'] = analyticsLocations;
object['badge_action'] = badgeAction;
object['badge_id'] = badgeId;
object['badge_tier'] = r7;
object['position'] = position;
Reflect.apply(track, defaultImport, [USER_PROFILE_BADGE_ACTION, object]);
return value;
}
function trackDmProfileToggled({displayProfile, isProfileOpen}) { // fn#67504, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8700:6496, offset: 0x01c26063, size: 317 bytes, params: 2, frame: 23
const userId = displayProfile?.userId;
const r12 = userId != null ? PresenceStore.findActivity(userId, _fun67505) : null;
const defaultImport = AnalyticsUtils;
const track = defaultImport.track;
const DM_PROFILE_TOGGLED = AnalyticEvents.DM_PROFILE_TOGGLED;
const object = {is_profile_open: isProfileOpen};
const Boolean = global.Boolean;
object.has_images = Boolean((r12 == null || r12.assets == null ? undefined : r12.assets.large_image) ?? (r12 == null || r12.assets == null ? undefined : r12.assets.small_image));
object.is_friend = RelationshipStore.isFriend(userId);
object.viewed_profile_user_id = userId;
object.profile_has_nitro_customization = displayProfile?.hasPremiumCustomization();
object.profile_has_theme_color_customized = displayProfile?.hasThemeColors();
object.profile_has_theme_animation = displayProfile?.popoutAnimationParticleType != null;
Reflect.apply(track, defaultImport, [DM_PROFILE_TOGGLED, object]);
function _fun67505({type}) { // fn#67505, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8700:6599, offset: 0x01c261a0, size: 73 bytes, params: 2, frame: 13
const value = environment.__proto__;
const applicationStreamingStoreBinding = ApplicationStreamingStore;
const getAnyStreamForUser = applicationStreamingStoreBinding.getAnyStreamForUser;
return Reflect.apply(getAnyStreamForUser, applicationStreamingStoreBinding,
[userId]) != null ? type === ActivityTypes.PLAYING : type !== ActivityTypes.CUSTOM_STATUS;
}
}
function trackUserProfileEditAction(a0) { // fn#67506, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8700:7174, offset: 0x01c261e9, size: 299 bytes, params: 2, frame: 30
const guildId = a0.guildId;
const channelId = a0.channelId;
const analyticsLocations = a0.analyticsLocations;
const action = a0.action;
const widgetEdited = a0.widgetEdited;
const gameId = a0.gameId;
const numResults = a0.numResults;
const numCharacters = a0.numCharacters;
const applicationId = a0.applicationId;
const trackUserProfileActionBinding = trackUserProfileAction;
let object = {};
copyDataProperties(object, a0, guildId);
object['action'] = action;
trackUserProfileActionBinding(object);
const defaultImport = AnalyticsUtils;
const track = defaultImport.track;
const USER_PROFILE_EDIT_ACTION = AnalyticEvents.USER_PROFILE_EDIT_ACTION;
object = {};
copyDataProperties(object, AppAnalyticsUtilsModule.collectGuildAnalyticsMetadata(guildId), guildId);
copyDataProperties(object, AppAnalyticsUtilsModule.collectChannelAnalyticsMetadataFromId(channelId), guildId);
copyDataProperties(object, getTrackUserProfileProperties(a0), guildId);
copyDataProperties(object, getTrackUserProfileApplicationProperties(applicationId), guildId);
object['location_stack'] = analyticsLocations;
object['edit_action'] = action;
object['widget_edited'] = widgetEdited;
object['game_id'] = gameId;
object['num_results'] = numResults;
object['num_characters'] = numCharacters;
object['application_id'] = applicationId;
Reflect.apply(track, defaultImport, [USER_PROFILE_EDIT_ACTION, object]);
}
function trackUserProfileEditSaved(a0) { // fn#67507, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8700:7721, offset: 0x01c26314, size: 276 bytes, params: 2, frame: 29
const guildId = a0.guildId;
const channelId = a0.channelId;
const analyticsLocations = a0.analyticsLocations;
const widgetEdited = a0.widgetEdited;
const gameIds = a0.gameIds;
const tags = a0.tags;
const numCharactersCommentary = a0.numCharactersCommentary;
const isWidgetRemoved = a0.isWidgetRemoved;
const trackUserProfileActionBinding = trackUserProfileAction;
let object = {};
copyDataProperties(object, a0, guildId);
object['action'] = 'EDIT_SAVED';
trackUserProfileActionBinding(object);
const defaultImport = AnalyticsUtils;
const track = defaultImport.track;
const USER_PROFILE_EDIT_SAVED = AnalyticEvents.USER_PROFILE_EDIT_SAVED;
object = {};
copyDataProperties(object, AppAnalyticsUtilsModule.collectGuildAnalyticsMetadata(guildId), guildId);
copyDataProperties(object, AppAnalyticsUtilsModule.collectChannelAnalyticsMetadataFromId(channelId), guildId);
copyDataProperties(object, getTrackUserProfileProperties(a0), guildId);
object['location_stack'] = analyticsLocations;
object['widget_edited'] = widgetEdited;
object['game_ids'] = gameIds;
object['tags'] = tags;
object['num_characters_commentary'] = numCharactersCommentary;
object['is_widget_removed'] = isWidgetRemoved;
Reflect.apply(track, defaultImport, [USER_PROFILE_EDIT_SAVED, object]);
}
function trackUserProfileWishlistAction(a0) { // fn#67508, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8700:8226, offset: 0x01c26428, size: 275 bytes, params: 2, frame: 28
const guildId = a0.guildId;
const channelId = a0.channelId;
const analyticsLocations = a0.analyticsLocations;
const action = a0.action;
const wishlistId = a0.wishlistId;
const skuId = a0.skuId;
const productLines = a0.productLines;
const trackUserProfileActionBinding = trackUserProfileAction;
let object = {};
copyDataProperties(object, a0, guildId);
object['action'] = action;
trackUserProfileActionBinding(object);
const defaultImport = AnalyticsUtils;
const track = defaultImport.track;
const USER_PROFILE_WISHLIST_ACTION = AnalyticEvents.USER_PROFILE_WISHLIST_ACTION;
object = {};
copyDataProperties(object, AppAnalyticsUtilsModule.collectGuildAnalyticsMetadata(guildId), guildId);
copyDataProperties(object, AppAnalyticsUtilsModule.collectChannelAnalyticsMetadataFromId(channelId), guildId);
copyDataProperties(object, getTrackUserProfileProperties(a0), guildId);
object['location_stack'] = analyticsLocations;
object['action_type'] = action;
object['wishlist_id'] = wishlistId;
object['sku_id'] = skuId;
object['product_lines'] = productLines != null ? global.Array.from(productLines) : [];
Reflect.apply(track, defaultImport, [USER_PROFILE_WISHLIST_ACTION, object]);
}
}
function _fun67494(a0) { // fn#67494, offset: 0x00d8c8a1, size: 16 bytes, params: 2, frame: 2
return typeof a0 === 'string';
}
global.__d(_fun67485, 8515, [7670, 5221, 4492, 5109, 1945, 4396, 3793, 1878, 5189, 8516, 661, 482, 1423, 8490, 683,
4863, 8517,
2]) /* metro module 8515, dependencies: [7670, 5221, 4492, 5109, 1945, 4396, 3793, 1878, 5189, 8516, 661, 482, 1423, 8490, 683, 4863, 8517, 2] */;