2026-10-12 16:32:48 +00:00
// Module ID: 8495
// Function ID: 8496
2026-09-18 19:45:33 +00:00
// Name: LinkAnalyticsUtils
2026-10-12 16:32:48 +00:00
// Dependencies: [1085, 7024, 1384, 5422, 1265, 2]
2026-09-18 19:45:33 +00:00
2026-10-12 16:32:48 +00:00
// Module 8495 (LinkAnalyticsUtils)
2026-10-07 22:43:51 +00:00
import Constants from "Constants" /* 1085 */ ;
2026-10-12 16:32:48 +00:00
import AnalyticsUtilsDefault from "AnalyticsUtils" /* 1265 */ ;
import URLUtilsDefault from "URLUtils" /* 1384 */ ;
import LinkUtils from "LinkUtils" /* 5422 */ ;
import ValidationUtilsDefault from "ValidationUtils" /* 7024 */ ;
2026-09-18 19:45:33 +00:00
import size from "module_2" /* 2 */ ;
const AnalyticEvents = Constants . AnalyticEvents ;
2026-09-21 13:40:21 +00:00
const constants = { MESSAGE : "Discord Message Link" , CHANNEL : "Discord Channel Link" , SERVER_INVITE : "Discord Server Invite" , GIFT : "Discord Gift Link" , UNKNOWN : "Unknown" , DISCOVERY : "Discord Discovery Link" , USER_PROFILE : "Discord User Profile Link" } ;
2026-09-18 19:45:33 +00:00
const items = [
( substr ) = > {
let SERVER_INVITE = null ;
2026-10-01 14:13:23 +00:00
const obj = ValidationUtilsDefault ;
2026-09-18 19:45:33 +00:00
if ( obj . isInvite ( substr ) ) {
SERVER_INVITE = constants . SERVER_INVITE ;
}
return SERVER_INVITE ;
} ,
( target ) = > {
2026-10-01 14:13:23 +00:00
let channelId ;
let guildId ;
const obj = URLUtilsDefault ;
const safeParseWithQueryResult = obj . safeParseWithQuery ( target ) ;
2026-09-18 19:45:33 +00:00
if ( null == safeParseWithQueryResult ) {
return null ;
} else {
2026-10-01 14:13:23 +00:00
const obj2 = LinkUtils ;
const tryParseChannelPathResult = obj2 . tryParseChannelPath ( safeParseWithQueryResult . path ) ;
let tmp5 = null ;
if ( null != tryParseChannelPathResult ) {
let UNKNOWN ;
2026-09-18 19:45:33 +00:00
( { guildId , channelId } = tryParseChannelPathResult ) ;
if ( null != guildId ) {
if ( null != channelId ) {
2026-10-01 14:13:23 +00:00
if ( null != tryParseChannelPathResult . messageId ) {
UNKNOWN = constants . MESSAGE ;
}
tmp5 = UNKNOWN ;
2026-09-18 19:45:33 +00:00
}
}
if ( null != guildId ) {
if ( null != channelId ) {
2026-10-01 14:13:23 +00:00
UNKNOWN = constants . CHANNEL ;
2026-09-18 19:45:33 +00:00
}
}
UNKNOWN = constants . UNKNOWN ;
}
2026-10-01 14:13:23 +00:00
return tmp5 ;
2026-09-18 19:45:33 +00:00
}
} ,
( arg0 ) = > {
let DISCOVERY = null ;
2026-10-01 14:13:23 +00:00
const obj = ValidationUtilsDefault ;
2026-09-18 19:45:33 +00:00
if ( obj . isDiscoveryLink ( arg0 ) ) {
DISCOVERY = constants . DISCOVERY ;
}
return DISCOVERY ;
2026-09-21 13:40:21 +00:00
} ,
( target ) = > {
2026-10-01 14:13:23 +00:00
const obj = URLUtilsDefault ;
const safeParseWithQueryResult = obj . safeParseWithQuery ( target ) ;
2026-09-21 13:40:21 +00:00
let USER_PROFILE = null ;
if ( null != safeParseWithQueryResult ) {
USER_PROFILE = null ;
2026-10-01 14:13:23 +00:00
const obj2 = LinkUtils ;
2026-09-21 13:40:21 +00:00
if ( null != obj2 . tryParseUserProfilePath ( safeParseWithQueryResult . pathname ) ) {
USER_PROFILE = constants . USER_PROFILE ;
}
}
return USER_PROFILE ;
2026-09-18 19:45:33 +00:00
}
] ;
2026-10-01 14:13:23 +00:00
let obj = {
2026-09-18 19:45:33 +00:00
trackDiscordLinkClicked ( guildId ) {
2026-10-01 14:13:23 +00:00
let UNKNOWN ;
2026-09-18 19:45:33 +00:00
AnalyticsUtilsDefault ;
if ( null != guildId . guildId ) {
if ( null != guildId . channelId ) {
if ( null != guildId . messageId ) {
2026-10-01 14:13:23 +00:00
UNKNOWN = constants . MESSAGE ;
2026-09-18 19:45:33 +00:00
}
const obj = { is_discord_link : true , discord_link_type : UNKNOWN } ;
tmp2 ( tmp3 , obj ) ;
}
}
if ( null != guildId . guildId ) {
if ( null != guildId . channelId ) {
UNKNOWN = constants . CHANNEL ;
}
}
UNKNOWN = constants . UNKNOWN ;
} ,
2026-10-01 14:13:23 +00:00
trackLinkClicked ( value , arg1 ) {
let tmp6 ;
function getDiscordLinkTypeFromUrl ( value ) {
const iter = items [ Symbol . iterator ] ( ) ;
while ( iter !== undefined ) {
let tmp2 = iter . next ( ) ( value ) ;
if ( null != tmp2 ) {
iter . return ( ) ;
return tmp2 ;
}
}
return constants . UNKNOWN ;
}
if ( null != value ) {
let tmp2 = dependencyMap ;
const obj = URLUtilsDefault ;
let tmp3 = obj . isDiscordUrl ( value , true ) || null != arg1 ;
const obj2 = { is_discord_link : tmp3 , discord_link_type : tmp6 } ;
tmp6 = null ;
2026-10-12 16:32:48 +00:00
const track = tmp ( 1265 ) . track ;
2026-10-01 14:13:23 +00:00
const LINK_CLICKED = AnalyticEvents . LINK_CLICKED ;
2026-09-18 19:45:33 +00:00
AnalyticsUtilsDefault ;
2026-10-01 14:13:23 +00:00
if ( tmp3 ) {
let UNKNOWN ;
if ( null == arg1 ) {
if ( null == value ) {
UNKNOWN = constants . UNKNOWN ;
}
tmp6 = UNKNOWN ;
}
if ( null == arg1 ) {
UNKNOWN = getDiscordLinkTypeFromUrl ( value ) ;
} else {
if ( null != arg1 . guildId ) {
if ( null != arg1 . channelId ) {
if ( null != arg1 . messageId ) {
UNKNOWN = constants . MESSAGE ;
2026-09-18 19:45:33 +00:00
}
}
2026-10-01 14:13:23 +00:00
}
if ( null != arg1 . guildId ) {
if ( null != arg1 . channelId ) {
UNKNOWN = constants . CHANNEL ;
2026-09-18 19:45:33 +00:00
}
}
2026-10-01 14:13:23 +00:00
UNKNOWN = constants . UNKNOWN ;
2026-09-18 19:45:33 +00:00
}
}
2026-10-01 14:13:23 +00:00
track ( LINK_CLICKED , obj2 ) ;
2026-09-18 19:45:33 +00:00
}
} ,
trackAnnouncementMessageLinkClicked ( arg0 ) {
2026-10-01 14:13:23 +00:00
let channelId ;
let guildId ;
let messageId ;
let sourceChannelId ;
let sourceGuildId ;
2026-09-18 19:45:33 +00:00
( { messageId , channelId , guildId , sourceChannelId , sourceGuildId } = arg0 ) ;
2026-10-01 14:13:23 +00:00
const obj = AnalyticsUtilsDefault ;
obj . track ( AnalyticEvents . ANNOUNCEMENT_MESSAGE_LINK_CLICKED , { message_id : messageId , channel_id : channelId , guild_id : guildId , source_channel_id : sourceChannelId , source_guild_id : sourceGuildId } ) ;
2026-09-18 19:45:33 +00:00
}
} ;
2026-10-01 14:13:23 +00:00
const result = size . fileFinishedImporting ( "modules/links/LinkAnalyticsUtils.tsx" ) ;
export default obj ;