2026-07-21 06:55:02 +00:00
// Module ID: 9467
// Function ID: 73742
2026-07-20 16:05:17 +00:00
// Name: _createForOfIteratorHelperLoose
// Dependencies: []
2026-07-21 06:55:02 +00:00
// Module 9467 (_createForOfIteratorHelperLoose)
2026-07-20 16:05:17 +00:00
function _createForOfIteratorHelperLoose ( @ @iterator ) {
let arg1 = Symbol_iterator ;
@ @iterator = "undefined" !== typeof Symbol ;
if ( Symbol_iterator ) {
const _Symbol = Symbol ;
@ @iterator = Symbol_iterator [ Symbol . iterator ] ;
}
if ( ! Symbol_iterator ) {
@ @iterator = Symbol_iterator [ Symbol . iterator ] ;
}
if ( Symbol_iterator ) {
const iter = Symbol_iterator . call ( Symbol_iterator ) ;
const next = iter . next ;
return next . bind ( iter ) ;
} else {
const _Array = Array ;
let tmp = Symbol_iterator ;
if ( ! Array . isArray ( Symbol_iterator ) ) {
let tmp2 ;
if ( Symbol_iterator ) {
if ( "string" === typeof Symbol_iterator ) {
tmp2 = _arrayLikeToArray ( Symbol_iterator , undefined ) ;
} else {
const toString = { } . toString ;
const substr = toString . call ( Symbol_iterator ) . slice ( 8 , - 1 ) ;
let name = substr ;
if ( tmp3 ) {
name = Symbol_iterator . constructor . name ;
}
if ( "Map" !== name ) {
if ( "Set" !== name ) {
if ( "Arguments" === name ) {
let arr = _arrayLikeToArray ( Symbol_iterator , undefined ) ;
} else {
const obj = /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/ ;
}
}
tmp2 = arr ;
}
const _Array2 = Array ;
arr = Array . from ( Symbol_iterator ) ;
const callResult = toString . call ( Symbol_iterator ) ;
const tmp3 = "Object" === substr && Symbol_iterator . constructor ;
}
}
tmp = tmp2 ;
if ( ! tmp2 ) {
const _TypeError = TypeError ;
const typeError = new TypeError ( "Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method." ) ;
throw typeError ;
}
}
if ( tmp ) {
arg1 = tmp ;
}
let closure_1 = 0 ;
return ( ) = > {
if ( closure_1 >= tmp . length ) {
let obj = { done : true } ;
} else {
obj = { done : false } ;
closure_1 = tmp3 + 1 ;
obj . value = tmp [ + closure_1 ] ;
}
return obj ;
} ;
}
}
function _arrayLikeToArray ( arg0 , arg1 ) {
let length ;
if ( tmp ) {
length = arg0 . length ;
}
const ArrayResult = Array ( length ) ;
for ( let num = 0 ; num < length ; num = num + 1 ) {
ArrayResult [ num ] = arg0 [ num ] ;
}
return ArrayResult ;
}
function _isNativeReflectConstruct() {
let closure_0 = ! valueOf . call ( Reflect . construct ( Boolean , [ ] , ( ) = > {
} ) ) ;
function _isNativeReflectConstruct() {
return closure_0 ;
}
const result = _isNativeReflectConstruct ( ) ;
}
function getAnalyticsConfig ( type ) {
type = type . type ;
if ( obj . ANNOUNCEMENT === type ) {
let obj = { event : AnalyticEvents.ANNOUNCEMENT_MESSAGE_VIEWED } ;
obj = { } ;
( { messageId : obj9.message_id , channelId : obj9.channel_id , guildId : obj9.guild_id , sourceChannelId : obj9.source_channel_id , sourceGuildId : obj9.source_guild_id } = type ) ;
obj . properties = obj ;
return obj ;
} else if ( obj . APP_EMBED === type ) {
const obj1 = { event : AnalyticEvents.APP_EMBED_VIEWED } ;
( { applicationId : obj7.application_id , linkType : obj7.link_type , messageId : obj7.message_id , channelId : obj7.channel_id , guildId : obj7.guild_id } = type ) ;
obj1 . properties = { } ;
return obj1 ;
} else if ( obj . OFFICIAL_MESSAGE === type ) {
const obj3 = { event : AnalyticEvents.OFFICIAL_MESSAGE_VIEWED } ;
( { messageId : obj5.message_id , channelId : obj5.channel_id , guildId : obj5.guild_id } = type ) ;
obj3 . properties = { } ;
return obj3 ;
} else if ( obj . VOICE_INVITE_EMBED === type ) {
const obj5 = { event : arg1 ( dependencyMap [ 6 ] ) . ImpressionNames . VOICE_INVITE_EMBED } ;
const obj6 = { impression_type : arg1 ( dependencyMap [ 6 ] ) . ImpressionTypes . VIEW } ;
( { inviteCode : obj3.invite_code , inviteGuildId : obj3.invite_guild_id , inviteChannelId : obj3.invite_channel_id , inviteInstanceId : obj3.invite_instance_id , hasActiveStream : obj3.has_active_stream } = type ) ;
const INVITE_EMBED = importDefault ( dependencyMap [ 7 ] ) . INVITE_EMBED ;
if ( type . treatmentRendered ) {
const items = [ INVITE_EMBED , importDefault ( dependencyMap [ 7 ] ) . VOICE_CHANNEL_LIST_INVITE_EMBED ] ;
let items1 = items ;
} else {
items1 = [ INVITE_EMBED ] ;
}
obj6 . location_stack = items1 ;
obj5 . properties = obj6 ;
return obj5 ;
} else {
obj = arg1 ( dependencyMap [ 8 ] ) ;
return obj . assertNever ( type ) ;
}
}
function getMessageViewKey ( type ) {
if ( type . type === obj . VOICE_INVITE_EMBED ) {
const _HermesInternal2 = HermesInternal ;
let combined = "" + type . messageId + "-" + type . inviteCode + "-" + type . type ;
} else {
const _HermesInternal = HermesInternal ;
combined = "" + type . messageId + "-" + type . type ;
}
return combined ;
}
let closure_3 = importDefault ( dependencyMap [ 0 ] ) ;
let closure_4 = importDefault ( dependencyMap [ 1 ] ) ;
let closure_5 = importDefault ( dependencyMap [ 2 ] ) ;
let closure_6 = importDefault ( dependencyMap [ 3 ] ) ;
let closure_7 = importDefault ( dependencyMap [ 4 ] ) ;
const AnalyticEvents = arg1 ( dependencyMap [ 5 ] ) . AnalyticEvents ;
const obj = { ANNOUNCEMENT : "announcement" , APP_EMBED : "app_embed" , OFFICIAL_MESSAGE : "official_message" , VOICE_INVITE_EMBED : "voice_invite_embed" } ;
let tmp2 = ( arg0 ) = > {
class MessageViewTrackingManager {
constructor ( arg0 ) {
self = this ;
items = [ . . . arguments ] ;
tmp = closure_3 ( this , MessageViewTrackingManager ) ;
items1 = [ . . . items ] ;
obj = closure_6 ( MessageViewTrackingManager ) ;
tmp2 = closure_5 ;
if ( closure_12 ( ) ) {
tmp4 = globalThis ;
_Reflect = Reflect ;
tmp5 = closure_6 ;
constructResult = Reflect . construct ( obj , items1 , closure_6 ( self ) . constructor ) ;
} else {
constructResult = obj . apply ( self , items1 ) ;
}
tmp2Result = tmp2 ( self , constructResult ) ;
MessageViewTrackingManager = tmp2Result ;
tmp2Result . currentlyVisibleMessageTimers = { } ;
set = new Set ( ) ;
tmp2Result . viewsInCurrentChannel = set ;
tmp8 = closure_1 ( closure_2 [ 9 ] ) ;
tmp8 = new tmp8 ( { } ) ;
tmp2Result . recentViewTimes = tmp8 ;
tmp2Result . batchBuffer = [ ] ;
tmp2Result . batchTimerId = null ;
tmp2Result . actions = {
CHANNEL_SELECT() {
return tmp2Result . handleChannelSelect ( ) ;
}
} ;
return tmp2Result ;
}
}
const arg1 = MessageViewTrackingManager ;
callback2 ( MessageViewTrackingManager , arg0 ) ;
let obj = {
key : "handleMessageBecameVisible" ,
value ( arg0 ) {
const self = this ;
const MessageViewTrackingManager = this ;
const tmp = callback6 ( arg0 ) ;
if ( null == this . currentlyVisibleMessageTimers [ tmp ] ) {
const viewsInCurrentChannel = self . viewsInCurrentChannel ;
if ( ! viewsInCurrentChannel . has ( tmp ) ) {
const recentViewTimes = self . recentViewTimes ;
const value = recentViewTimes . get ( tmp ) ;
if ( null == value ) {
const _setTimeout = setTimeout ;
self . currentlyVisibleMessageTimers [ tmp ] = setTimeout ( ( ) = > {
delete r1 [ r5 ] ;
const viewsInCurrentChannel = self . viewsInCurrentChannel ;
viewsInCurrentChannel . add ( tmp ) ;
const recentViewTimes = self . recentViewTimes ;
const result = recentViewTimes . set ( tmp , Date . now ( ) ) ;
self . bufferViewTrack ( arg0 ) ;
} , 1000 ) ;
} else {
const _Date = Date ;
}
}
}
}
} ;
const items = [ obj , , , , , , ] ;
obj = {
key : "handleMessageLostVisibility" ,
value ( arg0 , arg1 , arg2 ) {
const self = this ;
if ( null != arg2 ) {
const _HermesInternal2 = HermesInternal ;
let combined = "" + arg0 + "-" + arg2 + "-" + arg1 ;
} else {
const _HermesInternal = HermesInternal ;
combined = "" + arg0 + "-" + arg1 ;
}
if ( null != self . currentlyVisibleMessageTimers [ combined ] ) {
const _clearTimeout = clearTimeout ;
clearTimeout ( tmp7 ) ;
const currentlyVisibleMessageTimers = self . currentlyVisibleMessageTimers ;
delete r0 [ r1 ] ;
}
}
} ;
items [ 1 ] = obj ;
obj = {
key : "handleMessageListVisibilityChange" ,
value ( arr ) {
let done ;
let iter3 ;
const self = this ;
const tmp = callback4 ( arr ) ;
let iter = tmp ( ) ;
if ( ! iter . done ) {
do {
let result = self . handleMessageBecameVisible ( iter . value ) ;
let iter2 = tmp ( ) ;
iter = iter2 ;
done = iter2 . done ;
} while ( ! done ) ;
}
const keys = Object . keys ( self . currentlyVisibleMessageTimers ) ;
if ( keys . length > 0 ) {
const _Set = Set ;
const set = new Set ( arr . map ( closure_14 ) ) ;
const tmp10 = callback4 ( keys ) ;
let iter4 = tmp10 ( ) ;
if ( ! iter4 . done ) {
do {
let value = iter4 . value ;
let _HermesInternal = HermesInternal ;
let tmp3 = value . endsWith ( "-" + arg1 ) && ! set . has ( value ) ;
if ( tmp3 ) {
let clearTimerResult = self . clearTimer ( value ) ;
}
iter3 = tmp10 ( ) ;
iter4 = iter3 ;
} while ( ! iter3 . done ) ;
}
}
}
} ;
items [ 2 ] = obj ;
items [ 3 ] = {
key : "clearTimer" ,
value ( arg0 ) {
const tmp2 = this . currentlyVisibleMessageTimers [ arg0 ] ;
if ( null != tmp2 ) {
const _clearTimeout = clearTimeout ;
clearTimeout ( tmp2 ) ;
const currentlyVisibleMessageTimers = tmp . currentlyVisibleMessageTimers ;
delete r0 [ r1 ] ;
}
}
} ;
items [ 4 ] = {
key : "handleChannelSelect" ,
value() {
let length ;
const self = this ;
const values = Object . values ( this . currentlyVisibleMessageTimers ) ;
let num = 0 ;
if ( 0 < values . length ) {
do {
let _clearTimeout = clearTimeout ;
let clearTimeoutResult = clearTimeout ( values [ num ] ) ;
num = num + 1 ;
length = values . length ;
} while ( num < length ) ;
}
self . currentlyVisibleMessageTimers = { } ;
const viewsInCurrentChannel = self . viewsInCurrentChannel ;
viewsInCurrentChannel . clear ( ) ;
self . drainBuffer ( ) ;
}
} ;
items [ 5 ] = {
key : "drainBuffer" ,
value() {
let done ;
const self = this ;
const tmp = callback4 ( this . batchBuffer ) ;
let iter = tmp ( ) ;
if ( ! iter . done ) {
do {
let tmp2 = closure_13 ;
let tmp3 = closure_13 ( iter . value ) ;
let tmp4 = closure_1 ;
let tmp5 = closure_2 ;
let obj = closure_1 ( closure_2 [ 10 ] ) ;
let trackResult = obj . track ( tmp3 . event , tmp3 . properties ) ;
let iter2 = tmp ( ) ;
iter = iter2 ;
done = iter2 . done ;
} while ( ! done ) ;
}
self . batchBuffer = [ ] ;
if ( null != self . batchTimerId ) {
const _clearTimeout = clearTimeout ;
clearTimeout ( self . batchTimerId ) ;
self . batchTimerId = null ;
}
}
} ;
items [ 6 ] = {
key : "bufferViewTrack" ,
value ( arg0 ) {
const self = this ;
const MessageViewTrackingManager = this ;
if ( this . batchBuffer . length >= 10 ) {
self . drainBuffer ( ) ;
}
const batchBuffer = self . batchBuffer ;
batchBuffer . push ( arg0 ) ;
if ( null == self . batchTimerId ) {
const _setTimeout = setTimeout ;
self . batchTimerId = setTimeout ( ( ) = > self . drainBuffer ( ) , 2000 ) ;
}
}
} ;
return callback ( MessageViewTrackingManager , items ) ;
} ( importDefault ( dependencyMap [ 11 ] ) ) ;
tmp2 = new tmp2 ( ) ;
const result = arg1 ( dependencyMap [ 12 ] ) . fileFinishedImporting ( "modules/messages/MessageViewTrackingManager.tsx" ) ;
export default tmp2 ;
export const MessageViewTrackingType = obj ;