2026-07-23 10:11:24 +00:00
// Module ID: 15058
// Function ID: 114636
2026-07-20 16:05:17 +00:00
// Name: _createForOfIteratorHelperLoose
2026-07-23 10:11:24 +00:00
// Dependencies: [57, 31, 4143, 4147, 1194, 1348, 1917, 12681, 4202, 1849, 4146, 22, 566, 1327, 10532, 2]
2026-07-20 16:05:17 +00:00
// Exports: useEnsureSyncedChannelParticipants, useEnsureSyncedChannelVoiceStates, useIsRTCDisconnectedUIVisible
2026-07-23 10:11:24 +00:00
// Module 15058 (_createForOfIteratorHelperLoose)
import _slicedToArray from "_slicedToArray" ;
import result from "result" ;
import _isNativeReflectConstruct from "_isNativeReflectConstruct" ;
import closure_5 from "_isNativeReflectConstruct" ;
import closure_6 from "_isNativeReflectConstruct" ;
import closure_7 from "_isNativeReflectConstruct" ;
import closure_8 from "_isNativeReflectConstruct" ;
import closure_9 from "_isNativeReflectConstruct" ;
import closure_10 from "_isNativeReflectConstruct" ;
import closure_11 from "_isNativeReflectConstruct" ;
import closure_12 from "_isNativeReflectConstruct" ;
const require = arg1 ;
function _createForOfIteratorHelperLoose ( iterable ) {
let closure_0 = iterable ;
iterable = "undefined" !== typeof Symbol ;
if ( iterable ) {
2026-07-20 16:05:17 +00:00
const _Symbol = Symbol ;
2026-07-23 10:11:24 +00:00
iterable = iterable [ Symbol . iterator ] ;
2026-07-20 16:05:17 +00:00
}
2026-07-23 10:11:24 +00:00
if ( ! iterable ) {
iterable = iterable [ Symbol . iterator ] ;
2026-07-20 16:05:17 +00:00
}
2026-07-23 10:11:24 +00:00
if ( iterable ) {
const iter = iterable . call ( iterable ) ;
2026-07-20 16:05:17 +00:00
const next = iter . next ;
return next . bind ( iter ) ;
} else {
const _Array = Array ;
2026-07-23 10:11:24 +00:00
let tmp = iterable ;
if ( ! Array . isArray ( iterable ) ) {
2026-07-20 16:05:17 +00:00
let tmp2 ;
2026-07-23 10:11:24 +00:00
if ( iterable ) {
if ( "string" === typeof iterable ) {
tmp2 = _arrayLikeToArray ( iterable , undefined ) ;
2026-07-20 16:05:17 +00:00
} else {
const toString = { } . toString ;
2026-07-23 10:11:24 +00:00
const substr = toString . call ( iterable ) . slice ( 8 , - 1 ) ;
2026-07-20 16:05:17 +00:00
let name = substr ;
if ( tmp3 ) {
2026-07-23 10:11:24 +00:00
name = iterable . constructor . name ;
2026-07-20 16:05:17 +00:00
}
if ( "Map" !== name ) {
if ( "Set" !== name ) {
if ( "Arguments" === name ) {
2026-07-23 10:11:24 +00:00
let arr = _arrayLikeToArray ( iterable , undefined ) ;
2026-07-20 16:05:17 +00:00
} else {
2026-07-23 10:11:24 +00:00
let obj = /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/ ;
2026-07-20 16:05:17 +00:00
}
}
tmp2 = arr ;
}
const _Array2 = Array ;
2026-07-23 10:11:24 +00:00
arr = Array . from ( iterable ) ;
const callResult = toString . call ( iterable ) ;
tmp3 = "Object" === substr && iterable . constructor ;
2026-07-20 16:05:17 +00:00
}
}
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 ) {
2026-07-23 10:11:24 +00:00
closure_0 = tmp ;
2026-07-20 16:05:17 +00:00
}
2026-07-23 10:11:24 +00:00
let c1 = 0 ;
2026-07-20 16:05:17 +00:00
return ( ) = > {
2026-07-23 10:11:24 +00:00
if ( closure_1 >= length . length ) {
2026-07-20 16:05:17 +00:00
let obj = { done : true } ;
} else {
obj = { done : false } ;
closure_1 = tmp3 + 1 ;
2026-07-23 10:11:24 +00:00
obj . value = length [ + closure_1 ] ;
2026-07-20 16:05:17 +00:00
}
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 useDesyncedChannelParticipants ( channelId ) {
2026-07-23 10:11:24 +00:00
const _require = channelId ;
2026-07-20 16:05:17 +00:00
const items = [ closure_9 , closure_10 ] ;
2026-07-23 10:11:24 +00:00
return _require ( 566 ) . useStateFromStores ( items , ( ) = > {
2026-07-20 16:05:17 +00:00
let desyncedParticipants = null ;
2026-07-23 10:11:24 +00:00
if ( closure_0 === outer1_10 . getChannelId ( ) ) {
desyncedParticipants = outer1_9 . getDesyncedParticipants ( ) ;
2026-07-20 16:05:17 +00:00
}
return desyncedParticipants ;
} ) ;
}
2026-07-23 10:11:24 +00:00
const result = require ( "_isNativeReflectConstruct" ) . fileFinishedImporting ( "modules/voice_calls/RTCConnectionDesyncHooks.tsx" ) ;
2026-07-20 16:05:17 +00:00
export const useEnsureSyncedChannelVoiceStates = function useEnsureSyncedChannelVoiceStates ( id , voiceStates ) {
2026-07-23 10:11:24 +00:00
const _require = id ;
2026-07-20 16:05:17 +00:00
const dependencyMap = voiceStates ;
let guild_id ;
2026-07-23 10:11:24 +00:00
let items = [ closure_9 , closure_10 ] ;
const stateFromStores = _require ( 566 ) . useStateFromStores ( items , ( ) = > {
2026-07-20 16:05:17 +00:00
let desyncedVoiceStates = null ;
2026-07-23 10:11:24 +00:00
if ( closure_0 === outer1_10 . getChannelId ( ) ) {
desyncedVoiceStates = outer1_9 . getDesyncedVoiceStates ( ) ;
2026-07-20 16:05:17 +00:00
}
return desyncedVoiceStates ;
} ) ;
2026-07-23 10:11:24 +00:00
let obj = _require ( 566 ) ;
const items1 = [ stateFromStoresArray ] ;
const React = _require ( 566 ) . useStateFromStoresArray ( items1 , ( ) = > {
if ( null == closure_0 ) {
2026-07-20 16:05:17 +00:00
let items = [ ] ;
} else {
items = [ ] ;
2026-07-23 10:11:24 +00:00
HermesBuiltin . arraySpread ( stateFromStoresArray . getGuildRingingUsers ( closure_0 ) , 0 ) ;
2026-07-20 16:05:17 +00:00
}
return items ;
} ) ;
2026-07-23 10:11:24 +00:00
const obj2 = _require ( 566 ) ;
2026-07-20 16:05:17 +00:00
const items2 = [ closure_11 ] ;
2026-07-23 10:11:24 +00:00
stateFromStoresArray = _require ( 566 ) . useStateFromStoresArray ( items2 , ( ) = > {
const mapped = result . map ( ( arg0 ) = > outer2_11 . getUser ( arg0 ) ) ;
return mapped . filter ( id ( voiceStates [ 13 ] ) . isNotNullish ) ;
2026-07-20 16:05:17 +00:00
} ) ;
2026-07-23 10:11:24 +00:00
const obj3 = _require ( 566 ) ;
2026-07-20 16:05:17 +00:00
const items3 = [ closure_7 ] ;
2026-07-23 10:11:24 +00:00
const stateFromStores1 = _require ( 566 ) . useStateFromStores ( items3 , ( ) = > outer1_7 . getBasicChannel ( closure_0 ) ) ;
2026-07-20 16:05:17 +00:00
const items4 = [ stateFromStoresArray , ] ;
if ( null != stateFromStores1 ) {
guild_id = stateFromStores1 . guild_id ;
}
items4 [ 1 ] = guild_id ;
const memo = React . useMemo ( ( ) = > stateFromStoresArray . map ( ( id ) = > {
2026-07-23 10:11:24 +00:00
const obj = { voiceState : new stateFromStores1 ( id . id ) , user : id } ;
2026-07-20 16:05:17 +00:00
let guild_id ;
2026-07-23 10:11:24 +00:00
if ( null != outer1_5 ) {
guild_id = outer1_5 . guild_id ;
2026-07-20 16:05:17 +00:00
}
let member = null ;
if ( null != guild_id ) {
let guild_id1 ;
2026-07-23 10:11:24 +00:00
if ( null != outer1_5 ) {
guild_id1 = outer1_5 . guild_id ;
2026-07-20 16:05:17 +00:00
}
2026-07-23 10:11:24 +00:00
member = outer2_8 . getMember ( guild_id1 , id . id ) ;
2026-07-20 16:05:17 +00:00
}
obj . member = member ;
( { globalName : obj.nick , globalName : obj.comparator } = id ) ;
obj . _isPlaceholder = false ;
return obj ;
} ) , items4 ) ;
const items5 = [ stateFromStores , voiceStates , memo ] ;
2026-07-23 10:11:24 +00:00
return React . useMemo ( ( ) = > ( function syncChannelVoiceStates ( stateFromStores , closure_1 , memo ) {
2026-07-20 16:05:17 +00:00
let done ;
if ( null == stateFromStores ) {
if ( 0 === memo . length ) {
2026-07-23 10:11:24 +00:00
return closure_1 ;
2026-07-20 16:05:17 +00:00
}
}
const items = [ ] ;
const set = new Set ( ) ;
2026-07-23 10:11:24 +00:00
const tmp = outer2_13 ( closure_1 ) ;
2026-07-20 16:05:17 +00:00
let iter = tmp ( ) ;
if ( ! iter . done ) {
do {
let value = iter . value ;
let arr = items . push ( value ) ;
let addResult = set . add ( value . user . id ) ;
let iter2 = tmp ( ) ;
iter = iter2 ;
done = iter2 . done ;
} while ( ! done ) ;
}
if ( null != stateFromStores ) {
const item = stateFromStores . forEach ( ( arg0 ) = > {
items . splice ( items ( set [ 11 ] ) . sortedIndexBy ( items , arg0 , ( comparator ) = > comparator . comparator ) , 0 , arg0 ) ;
} ) ;
}
if ( memo . length > 0 ) {
const item1 = memo . forEach ( ( user ) = > {
if ( ! set . has ( user . user . id ) ) {
items . splice ( items ( set [ 11 ] ) . sortedIndexBy ( items , user , ( comparator ) = > comparator . comparator ) , 0 , user ) ;
const obj = items ( set [ 11 ] ) ;
}
} ) ;
}
return items ;
2026-07-23 10:11:24 +00:00
} ) ( stateFromStores , closure_1 , memo ) , items5 ) ;
2026-07-20 16:05:17 +00:00
} ;
export { useDesyncedChannelParticipants } ;
export const useEnsureSyncedChannelParticipants = function useEnsureSyncedChannelParticipants ( channelId ) {
2026-07-23 10:11:24 +00:00
let closure_0 = arg1 ;
2026-07-20 16:05:17 +00:00
const tmp = useDesyncedChannelParticipants ( channelId ) ;
const dependencyMap = tmp ;
2026-07-23 10:11:24 +00:00
let items = [ tmp , arg1 ] ;
return React . useMemo ( ( ) = > ( function syncChannelParticipants ( closure_1 , closure_0 ) {
if ( null != closure_1 ) {
if ( 0 !== closure_1 . length ) {
2026-07-20 16:05:17 +00:00
const items = [ ] ;
2026-07-23 10:11:24 +00:00
HermesBuiltin . arraySpread ( closure_0 , 0 ) ;
const item = closure_1 . forEach ( ( arg0 ) = > {
items . splice ( items ( table [ 11 ] ) . sortedIndexBy ( items , arg0 , ( arg0 ) = > callback ( table [ 14 ] ) . sortKey ( arg0 ) ) , 0 , arg0 ) ;
2026-07-20 16:05:17 +00:00
} ) ;
return items ;
}
}
2026-07-23 10:11:24 +00:00
return closure_0 ;
} ) ( closure_1 , closure_0 ) , items ) ;
2026-07-20 16:05:17 +00:00
} ;
export const useIsRTCDisconnectedUIVisible = function useIsRTCDisconnectedUIVisible ( arg0 , id ) {
2026-07-23 10:11:24 +00:00
let _isNativeReflectConstruct ;
let closure_5 ;
2026-07-20 16:05:17 +00:00
let tmp4 ;
let tmp6 ;
2026-07-23 10:11:24 +00:00
const _require = arg0 ;
2026-07-20 16:05:17 +00:00
const dependencyMap = id ;
2026-07-23 10:11:24 +00:00
const items = [ stateFromStores2 ] ;
const stateFromStores = _require ( 566 ) . useStateFromStores ( items , ( ) = > stateFromStores2 . getId ( ) === closure_1 ) ;
const obj = _require ( 566 ) ;
2026-07-20 16:05:17 +00:00
const items1 = [ closure_10 ] ;
2026-07-23 10:11:24 +00:00
const stateFromStores1 = _require ( 566 ) . useStateFromStores ( items1 , ( ) = > outer1_10 . getChannelId ( ) ) ;
React = React . useRef ( null ) ;
const obj2 = _require ( 566 ) ;
[ tmp4 , _isNativeReflectConstruct ] = stateFromStores1 ( React . useState ( false ) , 2 ) ;
const tmp3 = stateFromStores1 ( React . useState ( false ) , 2 ) ;
[ tmp6 , closure_5 ] = stateFromStores1 ( React . useState ( false ) , 2 ) ;
const tmp5 = stateFromStores1 ( React . useState ( false ) , 2 ) ;
2026-07-20 16:05:17 +00:00
const items2 = [ closure_10 , closure_12 ] ;
2026-07-23 10:11:24 +00:00
stateFromStores2 = _require ( 566 ) . useStateFromStores ( items2 , ( ) = > {
let isUserConnectedResult = null != closure_1 ;
2026-07-20 16:05:17 +00:00
if ( isUserConnectedResult ) {
2026-07-23 10:11:24 +00:00
isUserConnectedResult = null != closure_0 ;
2026-07-20 16:05:17 +00:00
}
if ( isUserConnectedResult ) {
2026-07-23 10:11:24 +00:00
isUserConnectedResult = outer1_10 . getChannelId ( ) === closure_0 ;
2026-07-20 16:05:17 +00:00
}
if ( isUserConnectedResult ) {
2026-07-23 10:11:24 +00:00
isUserConnectedResult = null != outer1_12 . isInChannel ( closure_0 , closure_1 ) ;
2026-07-20 16:05:17 +00:00
}
if ( isUserConnectedResult ) {
2026-07-23 10:11:24 +00:00
isUserConnectedResult = outer1_10 . isUserConnected ( closure_1 ) ;
2026-07-20 16:05:17 +00:00
}
return isUserConnectedResult ;
} ) ;
2026-07-23 10:11:24 +00:00
const obj3 = _require ( 566 ) ;
2026-07-20 16:05:17 +00:00
const items3 = [ closure_10 , closure_12 ] ;
2026-07-23 10:11:24 +00:00
const stateFromStores3 = _require ( 566 ) . useStateFromStores ( items3 , ( ) = > {
let tmp = null != closure_1 ;
2026-07-20 16:05:17 +00:00
if ( tmp ) {
2026-07-23 10:11:24 +00:00
tmp = null != closure_0 ;
2026-07-20 16:05:17 +00:00
}
if ( tmp ) {
2026-07-23 10:11:24 +00:00
tmp = outer1_10 . getChannelId ( ) === closure_0 ;
2026-07-20 16:05:17 +00:00
}
if ( tmp ) {
2026-07-23 10:11:24 +00:00
tmp = null != outer1_12 . isInChannel ( closure_0 , closure_1 ) ;
2026-07-20 16:05:17 +00:00
}
if ( tmp ) {
2026-07-23 10:11:24 +00:00
tmp = ! outer1_10 . isUserConnected ( closure_1 ) ;
2026-07-20 16:05:17 +00:00
}
return tmp ;
} ) ;
const items4 = [ stateFromStores2 ] ;
const effect = React . useEffect ( ( ) = > {
if ( stateFromStores2 ) {
callback2 ( true ) ;
}
} , items4 ) ;
const items5 = [ arg0 , stateFromStores1 ] ;
const effect1 = React . useEffect ( ( ) = > {
2026-07-23 10:11:24 +00:00
if ( stateFromStores1 !== closure_0 ) {
2026-07-20 16:05:17 +00:00
callback2 ( false ) ;
}
} , items5 ) ;
const items6 = [ stateFromStores3 ] ;
const effect2 = React . useEffect ( ( ) = > {
if ( stateFromStores3 ) {
if ( null == ref . current ) {
const _setTimeout = setTimeout ;
ref . current = setTimeout ( ( ) = > {
2026-07-23 10:11:24 +00:00
outer1_3 . current = null ;
outer1_4 ( true ) ;
2026-07-20 16:05:17 +00:00
} , 250 ) ;
}
return ( ) = > {
2026-07-23 10:11:24 +00:00
clearTimeout ( outer1_3 . current ) ;
outer1_3 . current = null ;
2026-07-20 16:05:17 +00:00
} ;
}
clearTimeout ( ref . current ) ;
ref . current = null ;
callback ( false ) ;
} , items6 ) ;
return ! stateFromStores && tmp6 && tmp4 ;
} ;