2026-07-23 10:11:24 +00:00
// Module ID: 7008
// Function ID: 56125
2026-07-20 16:05:17 +00:00
// Name: _isNativeReflectConstruct
2026-07-23 10:11:24 +00:00
// Dependencies: [6, 7, 15, 17, 18, 57, 1352, 1348, 4142, 3760, 1357, 7009, 22, 1359, 21, 5684, 566, 686, 2]
2026-07-20 16:05:17 +00:00
2026-07-23 10:11:24 +00:00
// Module 7008 (_isNativeReflectConstruct)
import _callSuper from "_callSuper" ;
import _isNativeReflectConstruct from "_isNativeReflectConstruct" ;
import getForumPostReadStates from "getForumPostReadStates" ;
import dispatcher from "dispatcher" ;
import set from "set" ;
import _slicedToArray from "_slicedToArray" ;
import { ALL_CHANNEL_TYPES } from "_callSuper" ;
import closure_10 from "_isNativeReflectConstruct" ;
import closure_11 from "_isNativeReflectConstruct" ;
import closure_12 from "_isNativeReflectConstruct" ;
const require = arg1 ;
2026-07-20 16:05:17 +00:00
function _isNativeReflectConstruct() {
let closure_0 = ! valueOf . call ( Reflect . construct ( Boolean , [ ] , ( ) = > {
} ) ) ;
function _isNativeReflectConstruct() {
return closure_0 ;
}
const result = _isNativeReflectConstruct ( ) ;
}
2026-07-23 10:11:24 +00:00
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 listKey ( channelId , sortOrder , tagFilter , tagSetting ) {
let iter = tagFilter ;
const combined = "" + channelId + "|" + sortOrder + "|" + tagSetting + "|" ;
if ( 0 === tagFilter . size ) {
return combined ;
} else if ( 1 === iter . size ) {
iter = iter . values ( ) ;
let sum = combined + iter . next ( ) . value ;
} else {
const _Array = Array ;
const sorted = Array . from ( iter ) . sort ( ) ;
sum = combined + sorted . join ( "," ) ;
const arr = Array . from ( iter ) ;
}
}
function getSortValue ( channel , sortOrder ) {
2026-07-23 10:11:24 +00:00
if ( sortOrder === require ( 1357 ) /* set */ . ThreadSortOrder . LATEST_ACTIVITY ) {
2026-07-20 16:05:17 +00:00
let id = closure_11 . lastMessageId ( channel . id ) ;
} else {
id = channel . id ;
}
return id ;
}
function resortListState ( value ) {
2026-07-23 10:11:24 +00:00
let _callSuper ;
let dependencyMap ;
let importDefault ;
2026-07-20 16:05:17 +00:00
const sortOrder = value . sortOrder ;
2026-07-23 10:11:24 +00:00
( { tagFilter : importDefault , tagSetting : dependencyMap , hasMore : _callSuper } = value ) ;
2026-07-20 16:05:17 +00:00
const channel = store . getChannel ( value . threads [ value . threads . length - 1 ] ) ;
let tmp2 = null ;
if ( null != channel ) {
tmp2 = getSortValue ( channel , sortOrder ) ;
}
2026-07-23 10:11:24 +00:00
let _isNativeReflectConstruct = tmp2 ;
const tmp4 = importDefault ( 22 ) ;
const found = importDefault ( 22 ) ( store . getAllThreadsForParent ( value . channelId ) ) . filter ( ( isArchivedThread ) = > isArchivedThread . isArchivedThread ( ) ) ;
2026-07-20 16:05:17 +00:00
const found1 = found . filter ( ( appliedTags ) = > {
2026-07-23 10:11:24 +00:00
if ( 0 !== closure_1 . size ) {
if ( sortOrder ( outer1_2 [ 13 ] ) . ThreadSearchTagSetting . MATCH_SOME === closure_2 ) {
2026-07-20 16:05:17 +00:00
const appliedTags2 = appliedTags . appliedTags ;
let someResult ;
if ( null != appliedTags2 ) {
2026-07-23 10:11:24 +00:00
someResult = appliedTags2 . some ( ( arg0 ) = > outer1_1 . has ( arg0 ) ) ;
2026-07-20 16:05:17 +00:00
}
if ( true !== someResult ) {
return false ;
}
2026-07-23 10:11:24 +00:00
} else if ( sortOrder ( outer1_2 [ 13 ] ) . ThreadSearchTagSetting . MATCH_ALL === tmp14 ) {
const tmp21 = outer1_16 ( closure_1 . values ( ) ) ;
2026-07-20 16:05:17 +00:00
let iter2 = tmp21 ( ) ;
if ( ! iter2 . done ) {
while ( true ) {
appliedTags = appliedTags . appliedTags ;
let hasItem ;
if ( null != appliedTags ) {
hasItem = appliedTags . includes ( tmp ) ;
}
if ( true !== hasItem ) {
break ;
} else {
let iter = tmp21 ( ) ;
iter2 = iter ;
}
}
return false ;
}
}
2026-07-23 10:11:24 +00:00
tmp14 = closure_2 ;
2026-07-20 16:05:17 +00:00
}
2026-07-23 10:11:24 +00:00
if ( _callSuper ) {
if ( null != _isNativeReflectConstruct ) {
2026-07-20 16:05:17 +00:00
let tmp7 = null ;
if ( null != appliedTags ) {
2026-07-23 10:11:24 +00:00
tmp7 = outer1_19 ( appliedTags , sortOrder ) ;
2026-07-20 16:05:17 +00:00
}
let tmp10 = null != tmp7 ;
if ( tmp10 ) {
2026-07-23 10:11:24 +00:00
tmp10 = outer1_1 ( outer1_2 [ 14 ] ) . compare ( tmp7 , _isNativeReflectConstruct ) >= 0 ;
const obj = outer1_1 ( outer1_2 [ 14 ] ) ;
2026-07-20 16:05:17 +00:00
}
return tmp10 ;
}
}
return true ;
} ) ;
const sorted = found1 . sort ( ( arg0 , arg1 ) = > {
2026-07-23 10:11:24 +00:00
const obj = outer1_1 ( outer1_2 [ 14 ] ) ;
return obj . compare ( outer1_19 ( arg0 , sortOrder ) , outer1_19 ( arg1 , sortOrder ) ) ;
2026-07-20 16:05:17 +00:00
} ) ;
const mapped = sorted . map ( ( id ) = > id . id ) ;
2026-07-23 10:11:24 +00:00
const tmp4Result = importDefault ( 22 ) ( store . getAllThreadsForParent ( value . channelId ) ) ;
2026-07-20 16:05:17 +00:00
value . threads = mapped . reverse ( ) . value ( ) ;
}
const map = new Map ( ) ;
let closure_14 = [ ] ;
2026-07-23 10:11:24 +00:00
let tmp3 = ( ( Store ) = > {
2026-07-20 16:05:17 +00:00
class ArchivedThreadsStore {
constructor ( ) {
self = this ;
2026-07-23 10:11:24 +00:00
tmp = outer1_3 ( this , ArchivedThreadsStore ) ;
obj = outer1_6 ( ArchivedThreadsStore ) ;
tmp2 = outer1_5 ;
if ( outer1_15 ( ) ) {
2026-07-20 16:05:17 +00:00
tmp6 = globalThis ;
_Reflect = Reflect ;
2026-07-23 10:11:24 +00:00
tmp7 = outer1_6 ;
2026-07-20 16:05:17 +00:00
tmp8 = arguments ;
2026-07-23 10:11:24 +00:00
constructResult = Reflect . construct ( obj , arguments , outer1_6 ( self ) . constructor ) ;
2026-07-20 16:05:17 +00:00
} else {
tmp3 = arguments ;
tmp4 = arguments ;
constructResult = obj ( . . . arguments ) ;
}
return tmp2 ( self , constructResult ) ;
}
}
callback2 ( ArchivedThreadsStore , Store ) ;
let obj = {
key : "initialize" ,
value() {
2026-07-23 10:11:24 +00:00
this . waitFor ( outer1_10 , outer1_12 , outer1_11 ) ;
2026-07-20 16:05:17 +00:00
}
} ;
const items = [ obj , , , , , ] ;
obj = {
key : "getCanLoadMore" ,
value ( arg0 , arg1 , arg2 , arg3 ) {
2026-07-23 10:11:24 +00:00
const value = outer1_13 . get ( outer1_18 ( arg0 , arg1 , arg2 , arg3 ) ) ;
2026-07-20 16:05:17 +00:00
let tmp2 = null != value ;
if ( tmp2 ) {
tmp2 = value . hasMore && ! value . loading && ! value . failed ;
const tmp3 = value . hasMore && ! value . loading && ! value . failed ;
}
return tmp2 ;
}
} ;
items [ 1 ] = obj ;
obj = {
key : "getNextOffset" ,
value ( arg0 , arg1 , arg2 , arg3 ) {
2026-07-23 10:11:24 +00:00
const value = outer1_13 . get ( outer1_18 ( arg0 , arg1 , arg2 , arg3 ) ) ;
2026-07-20 16:05:17 +00:00
let nextOffset ;
if ( null != value ) {
nextOffset = value . nextOffset ;
}
let num = 0 ;
if ( null != nextOffset ) {
num = nextOffset ;
}
return num ;
}
} ;
items [ 2 ] = obj ;
items [ 3 ] = {
key : "getIsInitialLoad" ,
value ( arg0 , arg1 , arg2 , arg3 ) {
2026-07-23 10:11:24 +00:00
const value = outer1_13 . get ( outer1_18 ( arg0 , arg1 , arg2 , arg3 ) ) ;
2026-07-20 16:05:17 +00:00
let isInitialLoad ;
if ( null != value ) {
isInitialLoad = value . isInitialLoad ;
}
return null == isInitialLoad || isInitialLoad ;
}
} ;
items [ 4 ] = {
key : "isLoading" ,
value ( arg0 , arg1 , arg2 , arg3 ) {
2026-07-23 10:11:24 +00:00
const value = outer1_13 . get ( outer1_18 ( arg0 , arg1 , arg2 , arg3 ) ) ;
2026-07-20 16:05:17 +00:00
let loading ;
if ( null != value ) {
loading = value . loading ;
}
return null != loading && loading ;
}
} ;
items [ 5 ] = {
key : "getThreads" ,
value ( arg0 , arg1 , arg2 , arg3 ) {
2026-07-23 10:11:24 +00:00
const value = outer1_13 . get ( outer1_18 ( arg0 , arg1 , arg2 , arg3 ) ) ;
2026-07-20 16:05:17 +00:00
let threads ;
if ( null != value ) {
threads = value . threads ;
}
if ( null == threads ) {
2026-07-23 10:11:24 +00:00
threads = outer1_14 ;
2026-07-20 16:05:17 +00:00
}
return threads ;
}
} ;
return callback ( ArchivedThreadsStore , items ) ;
2026-07-23 10:11:24 +00:00
} ) ( require ( "initialize" ) . Store ) ;
2026-07-20 16:05:17 +00:00
tmp3 . displayName = "ArchivedThreadsStore" ;
2026-07-23 10:11:24 +00:00
tmp3 = new tmp3 ( require ( "dispatcher" ) , {
2026-07-20 16:05:17 +00:00
CONNECTION_OPEN : function resetAll() {
map . clear ( ) ;
} ,
THREAD_DELETE : function handleThreadDelete ( channel ) {
2026-07-23 10:11:24 +00:00
if ( ! ( function removeThreadIdFromAllLists ( id ) {
2026-07-20 16:05:17 +00:00
let iter3 ;
2026-07-23 10:11:24 +00:00
let closure_0 = id ;
const tmp = outer1_16 ( outer1_13 . values ( ) ) ;
2026-07-20 16:05:17 +00:00
const iter = tmp ( ) ;
let iter2 = iter ;
let flag = false ;
let flag2 = false ;
if ( ! iter . done ) {
do {
let value = iter2 . value ;
let threads = value . threads ;
if ( threads . indexOf ( id ) >= 0 ) {
let threads1 = value . threads ;
2026-07-23 10:11:24 +00:00
value . threads = threads1 . filter ( ( arg0 ) = > arg0 !== closure_0 ) ;
2026-07-20 16:05:17 +00:00
flag = true ;
}
iter3 = tmp ( ) ;
iter2 = iter3 ;
flag2 = flag ;
} while ( ! iter3 . done ) ;
}
return flag2 ;
2026-07-23 10:11:24 +00:00
} ) ( channel . channel . id ) ) {
2026-07-20 16:05:17 +00:00
return false ;
}
} ,
THREAD_UPDATE : function handleThreadUpdate ( channel ) {
let iter3 ;
channel = channel . channel ;
if ( obj . isForumPostPinned ( channel . id ) ) {
const tmp3 = _createForOfIteratorHelperLoose ( map . values ( ) ) ;
const iter = tmp3 ( ) ;
let iter2 = iter ;
let flag2 = false ;
let flag3 = false ;
if ( ! iter . done ) {
do {
let value = iter2 . value ;
let tmp4 = flag2 ;
if ( value . channelId === channel . parent_id ) {
let threads = value . threads ;
if ( threads . indexOf ( channel . id ) >= 0 ) {
let threads1 = value . threads ;
value . threads = threads1 . filter ( ( arg0 ) = > arg0 !== channel . id ) ;
flag2 = true ;
}
tmp4 = flag2 ;
}
iter3 = tmp3 ( ) ;
flag2 = tmp4 ;
iter2 = iter3 ;
flag3 = tmp4 ;
} while ( ! iter3 . done ) ;
}
return flag3 ;
} else {
return false ;
}
2026-07-23 10:11:24 +00:00
obj = channel ( 5684 ) ;
2026-07-20 16:05:17 +00:00
} ,
CHANNEL_DELETE : function handleChannelDelete ( channel ) {
let iter3 ;
const tmp = _createForOfIteratorHelperLoose ( map ) ;
const iter = tmp ( ) ;
let iter2 = iter ;
let flag = false ;
let flag2 = false ;
if ( ! iter . done ) {
do {
2026-07-23 10:11:24 +00:00
let tmp2 = callback3 ;
let tmp3 = callback3 ( iter2 . value , 2 ) ;
2026-07-20 16:05:17 +00:00
if ( tmp3 [ 1 ] . channelId === channel . channel . id ) {
2026-07-23 10:11:24 +00:00
let tmp5 = map ;
let deleteResult = map . delete ( tmp4 ) ;
2026-07-20 16:05:17 +00:00
flag = true ;
}
iter3 = tmp ( ) ;
iter2 = iter3 ;
flag2 = flag ;
} while ( ! iter3 . done ) ;
}
return flag2 ? undefined : false ;
} ,
LOAD_ARCHIVED_THREADS : function handleLoadArchivedThreads ( tagFilter ) {
let iter2 ;
let tmp7 ;
let tmp8 ;
if ( tagFilter . tagFilter instanceof Set ) {
tagFilter = tagFilter . tagFilter ;
} else {
const _Set = Set ;
tagFilter = new Set ( tagFilter . tagFilter ) ;
}
const tmp3 = listKey ( tagFilter . channelId , tagFilter . sortOrder , tagFilter , tagFilter . tagSetting ) ;
const tmp4 = _createForOfIteratorHelperLoose ( map ) ;
let iter = tmp4 ( ) ;
if ( ! iter . done ) {
do {
2026-07-23 10:11:24 +00:00
let tmp5 = callback3 ;
let tmp6 = callback3 ( iter . value , 2 ) ;
2026-07-20 16:05:17 +00:00
[ tmp7 , tmp8 ] = tmp6 ;
let tmp9 = tmp7 !== tmp3 && tmp8 . channelId === tagFilter . channelId && tmp8 . failed ;
if ( tmp9 ) {
2026-07-23 10:11:24 +00:00
let tmp10 = map ;
let deleteResult = map . delete ( tmp7 ) ;
2026-07-20 16:05:17 +00:00
}
iter2 = tmp4 ( ) ;
iter = iter2 ;
} while ( ! iter2 . done ) ;
}
const value = map . get ( tmp3 ) ;
if ( null == value ) {
2026-07-23 10:11:24 +00:00
const obj = { loading : false , isInitialLoad : true , hasMore : false , failed : false , threads : [ ] , nextOffset : 0 } ;
2026-07-20 16:05:17 +00:00
( { channelId : obj.channelId , sortOrder : obj.sortOrder } = tagFilter ) ;
obj . tagFilter = tagFilter ;
obj . tagSetting = tagFilter . tagSetting ;
let tmp13 = obj ;
} else {
value . tagFilter = tagFilter ;
value . failed = false ;
tmp13 = value ;
}
tmp13 . loading = true ;
tmp13 . isInitialLoad = false ;
map . delete ( tmp3 ) ;
const result = map . set ( tmp3 , tmp13 ) ;
if ( map . size > 50 ) {
const tmp18 = _createForOfIteratorHelperLoose ( map ) ;
let iter3 = tmp18 ( ) ;
if ( ! iter3 . done ) {
while ( map . size > 50 ) {
if ( ! tmp20 [ 1 ] . loading ) {
let tmp23 = map ;
let deleteResult2 = map . delete ( tmp21 ) ;
}
let iter4 = tmp18 ( ) ;
iter3 = iter4 ;
if ( iter4 . done ) {
break ;
}
}
2026-07-23 10:11:24 +00:00
tmp20 = callback3 ( iter3 . value , 2 ) ;
2026-07-20 16:05:17 +00:00
}
}
} ,
LOAD_ARCHIVED_THREADS_SUCCESS : function handleLoadArchivedThreadsSuccess ( tagFilter ) {
if ( tagFilter . tagFilter instanceof Set ) {
tagFilter = tagFilter . tagFilter ;
} else {
const _Set = Set ;
tagFilter = new Set ( tagFilter . tagFilter ) ;
}
const value = map . get ( listKey ( tagFilter . channelId , tagFilter . sortOrder , tagFilter , tagFilter . tagSetting ) ) ;
if ( null == value ) {
return false ;
} else {
let threads = tagFilter . threads ;
2026-07-23 10:11:24 +00:00
const found = threads . filter ( ( type ) = > outer1_9 . has ( type . type ) ) ;
2026-07-20 16:05:17 +00:00
threads = value . threads ;
value . threads = threads . concat ( found . map ( ( id ) = > id . id ) ) ;
const channel = store . getChannel ( value . channelId ) ;
if ( tmp4 ) {
2026-07-23 10:11:24 +00:00
let obj = require ( 7009 ) /* trackForumChannelSeenBatch */ ;
2026-07-20 16:05:17 +00:00
obj = { } ;
( { guild_id : obj2.guildId , id : obj2.channelId } = channel ) ;
obj . numArchivedThreads = value . threads . length ;
obj . hasMoreThreads = tagFilter . hasMore ;
const _Array = Array ;
obj . filterTagIds = Array . from ( tagFilter . tagFilter ) ;
obj . sortOrder = tagFilter . sortOrder ;
const result = obj . trackForumMorePostsLoaded ( obj ) ;
}
resortListState ( value ) ;
value . hasMore = tagFilter . hasMore ;
value . nextOffset = tagFilter . offset + 25 ;
value . loading = false ;
value . isInitialLoad = false ;
}
} ,
LOAD_ARCHIVED_THREADS_FAIL : function handleLoadArchivedThreadsFail ( tagFilter ) {
if ( tagFilter . tagFilter instanceof Set ) {
tagFilter = tagFilter . tagFilter ;
} else {
const _Set = Set ;
tagFilter = new Set ( tagFilter . tagFilter ) ;
}
const value = map . get ( listKey ( tagFilter . channelId , tagFilter . sortOrder , tagFilter , tagFilter . tagSetting ) ) ;
if ( null == value ) {
return false ;
} else {
value . loading = false ;
value . failed = true ;
value . isInitialLoad = false ;
}
} ,
RESORT_THREADS : function handleResortThreads ( channelId ) {
let iter3 ;
const tmp = _createForOfIteratorHelperLoose ( map . values ( ) ) ;
const iter = tmp ( ) ;
let iter2 = iter ;
let flag = false ;
let flag2 = false ;
if ( ! iter . done ) {
do {
let value = iter2 . value ;
let tmp2 = null != channelId . channelId && value . channelId !== channelId . channelId ;
if ( ! tmp2 ) {
2026-07-23 10:11:24 +00:00
let tmp3 = resortListState ;
let tmp4 = resortListState ( value ) ;
2026-07-20 16:05:17 +00:00
flag = true ;
}
iter3 = tmp ( ) ;
iter2 = iter3 ;
flag2 = flag ;
} while ( ! iter3 . done ) ;
}
return flag2 ? undefined : false ;
}
} ) ;
2026-07-23 10:11:24 +00:00
let result = require ( "_possibleConstructorReturn" ) . fileFinishedImporting ( "modules/threads/ArchivedThreadsStore.tsx" ) ;
2026-07-20 16:05:17 +00:00
export default tmp3 ;
export const PAGE_SIZE = 25 ;