89 lines
3.1 KiB
TypeScript
89 lines
3.1 KiB
TypeScript
// Metro module 8205 (f8206).
|
|
import { AnalyticEvents } from "../../Constants";
|
|
import ValidationUtils from "../../utils/ValidationUtils";
|
|
import URLUtils from "../../utils/URLUtils";
|
|
import { tryParseChannelPath } from "./LinkUtils";
|
|
import AnalyticsUtils from "../../utils/AnalyticsUtils";
|
|
let c5213_4 = {
|
|
MESSAGE: "Discord Message Link",
|
|
CHANNEL: "Discord Channel Link",
|
|
SERVER_INVITE: "Discord Server Invite",
|
|
GIFT: "Discord Gift Link",
|
|
UNKNOWN: "Unknown",
|
|
DISCOVERY: "Discord Discovery Link"
|
|
};
|
|
let c5213_5 = [(a0) => ValidationUtils.isInvite(a0) ? c5213_4.SERVER_INVITE : null, (a0) => {
|
|
const r9 = URLUtils.safeParseWithQuery(a0);
|
|
if (r9 == null) {
|
|
return null;
|
|
}
|
|
const r15 = tryParseChannelPath(r9.path);
|
|
const r16 = r15 == null;
|
|
let r17 = null;
|
|
if (!r16) {
|
|
const { guildId, channelId, messageId } = r15;
|
|
r17 = guildId != null && (channelId != null && messageId != null) ? c5213_4.MESSAGE : guildId != null && channelId != null ? c5213_4.CHANNEL : c5213_4.UNKNOWN;
|
|
}
|
|
return r17;
|
|
}, (a0) => ValidationUtils.isDiscoveryLink(a0) ? c5213_4.DISCOVERY : null];
|
|
const r27 = {
|
|
trackDiscordLinkClicked: function trackDiscordLinkClicked(a0) {
|
|
AnalyticsUtils.track(AnalyticEvents.LINK_CLICKED, {
|
|
is_discord_link: true,
|
|
discord_link_type: a0.guildId != null && (a0.channelId != null && a0.messageId != null) ? c5213_4.MESSAGE : a0.guildId != null && a0.channelId != null ? c5213_4.CHANNEL : c5213_4.UNKNOWN
|
|
});
|
|
},
|
|
trackLinkClicked: function trackLinkClicked(a0, a1) {
|
|
let UNKNOWN;
|
|
if (!(a0 == null && a1 == null)) {
|
|
const is_discord_link = URLUtils.isDiscordUrl(a0, true) || a1 != null;
|
|
const LINK_CLICKED = AnalyticEvents.LINK_CLICKED;
|
|
let discord_link_type = null;
|
|
if (is_discord_link) {
|
|
L21: {
|
|
if (a1 == null && a0 == null) {
|
|
UNKNOWN = c5213_4.UNKNOWN;
|
|
} else if (a1 == null) {
|
|
UNKNOWN = (function getDiscordLinkTypeFromUrl(a0) {
|
|
for (const item of c5213_5) {
|
|
const r23 = item(a0);
|
|
if (r23 == null) {
|
|
continue;
|
|
}
|
|
return r23;
|
|
}
|
|
return c5213_4.UNKNOWN;
|
|
})(a0);
|
|
} else {
|
|
if (a1.guildId != null && a1.channelId != null && a1.messageId != null) {
|
|
UNKNOWN = c5213_4.MESSAGE;
|
|
break L21;
|
|
}
|
|
if (a1.guildId != null && a1.channelId != null) {
|
|
UNKNOWN = c5213_4.CHANNEL;
|
|
break L21;
|
|
}
|
|
UNKNOWN = c5213_4.UNKNOWN;
|
|
}
|
|
}
|
|
discord_link_type = UNKNOWN;
|
|
}
|
|
AnalyticsUtils.track(LINK_CLICKED, {
|
|
is_discord_link,
|
|
discord_link_type
|
|
});
|
|
}
|
|
},
|
|
trackAnnouncementMessageLinkClicked: function trackAnnouncementMessageLinkClicked(a0) {
|
|
const messageId = a0.messageId;
|
|
AnalyticsUtils.track(AnalyticEvents.ANNOUNCEMENT_MESSAGE_LINK_CLICKED, {
|
|
message_id: messageId,
|
|
channel_id: a0.channelId,
|
|
guild_id: a0.guildId,
|
|
source_channel_id: a0.sourceChannelId,
|
|
source_guild_id: a0.sourceGuildId
|
|
});
|
|
}
|
|
};
|
|
export default r27;
|