/* Metro module 7154; source: modules/threads/ArchivedThreadsStore.tsx; dependencies: [6, 7, 15, 17, 18, 1383, 1379, 4605, 3786, 1388, 1390, 3, 1421, 7155, 22, 21, 6899, 566, 694, 2] */ function _fun57319(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#57319, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7332:6, offset: 0x013e2f37, size: 621 bytes, params: 8, frame: 21 const env0_0 = require; const _arrayLikeToArray_57325 = function(a0, a1) { var r0; var r1; var r2; var value3; var length; var value5; var value = undefined; var value2 = value == null; reducibleJoin2: while (true) { if (value2) { r0 = value2; break reducibleJoin2; } value3 = value > a0.length; r0 = value3; break reducibleJoin2; } reducibleJoin4: while (true) { if (r0) { length = a0.length; r1 = length; break reducibleJoin4; } r1 = value; break reducibleJoin4; } value = (0, global.Array)(r1); var value4 = 0; if (value4 < r1) { r2 = value4; reducibleLoop5: while (true) { value[r2] = a0[r2]; value5 = typeof r2 === 'bigint' ? r2 + 1n : +r2 + 1; if (value5 < r1) { r2 = value5; continue reducibleLoop5; } break reducibleLoop5; } } return value; }; const closure = CONNECTION_OPEN_57326; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const env0_3 = importDefault(6) /* metro dependency 6 */; const env0_4 = importDefault(7) /* metro dependency 7 */; const env0_5 = importDefault(15) /* metro dependency 15 */; const env0_6 = importDefault(17) /* metro dependency 17 */; const env0_7 = importDefault(18) /* metro dependency 18 */; const env0_8 = (require(1383) /* metro dependency 1383: ChannelRecord */).ALL_CHANNEL_TYPES; const channelStore = importDefault(1379) /* metro dependency 1379: ChannelStore */; const readStateStore = importDefault(4605) /* metro dependency 4605: ReadStateStore */; const joinedThreadsStore = importDefault(3786) /* metro dependency 3786: JoinedThreadsStore */; const ThreadSortOrder = (require(1388) /* metro dependency 1388: ThreadSortOrder */).ThreadSortOrder; const env0_18 = ThreadSortOrder.LATEST_ACTIVITY; const env0_19 = []; const ThreadSearchTagSetting = (require(1390) /* metro dependency 1390: ThreadSearchTagSetting */).ThreadSearchTagSetting; const env0_21 = ThreadSearchTagSetting.MATCH_SOME; let value = importDefault(3) /* metro dependency 3: Logger */; value = new value('ArchivedThreadsStore'); const env0_23 = []; const Store = (importDefault(566) /* metro dependency 566: flux */).Store; _fun57337(Store).displayName = 'ArchivedThreadsStore'; value = new value(importDefault(694) /* metro dependency 694: Dispatcher */, {CONNECTION_OPEN: closure, THREAD_DELETE: function({channel}) { return removeThreadId(channel.id); }, THREAD_UPDATE: THREAD_UPDATE_57346, CHANNEL_DELETE: CHANNEL_DELETE_57347, LOAD_ARCHIVED_THREADS: LOAD_ARCHIVED_THREADS, LOAD_ARCHIVED_THREADS_SUCCESS: LOAD_ARCHIVED_THREADS_SUCCESS_57349, LOAD_ARCHIVED_THREADS_FAIL: LOAD_ARCHIVED_THREADS_FAIL, RESORT_THREADS: RESORT_THREADS_57353}); (require(2) /* metro dependency 2 */).fileFinishedImporting('modules/threads/ArchivedThreadsStore.tsx'); exports.default = value; exports.PAGE_SIZE = 25; } function _isNativeReflectConstruct_57320() { // fn#57320, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7332:209, offset: 0x013e31a4, size: 94 bytes, params: 1, frame: 18 var Boolean; var prototype; var valueOf; var call; var Reflect; var construct; var closure; var value; var error; try { Boolean = global.Boolean; prototype = Boolean.prototype; valueOf = prototype.valueOf; call = valueOf.call; Reflect = global.Reflect; construct = Reflect.construct; Boolean = global.Boolean; closure = function() { }; value = Reflect.apply(construct, Reflect, [Boolean, [], closure]); value = Reflect.apply(call, valueOf, [value]); var result = !value; } catch (error) { } return (_isNativeReflectConstruct_57320_isNativeReflectConstruct = function() { return !!result; })(); } function _createForOfIteratorHelperLoose_57323(a0, a1) { // fn#57323, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7332:402, offset: 0x013e3202, size: 370 bytes, params: 3, frame: 20 var r6; var r9; var r5; var value3; var regexp; const env0_0 = a0; const Symbol = global.Symbol; let value = typeof Symbol !== 'undefined'; let r1 = value && a0[global.Symbol.iterator]; r1 = !r1 ? a0['@@iterator'] : r1; if (r1) { value = r1.call(a0); return value.next.bind(value); } const Array = global.Array; if (Array.isArray(a0)) { if (r1) { } return _fun57324; } value = undefined; if (a0) { if (typeof a0 === 'string') { value = _arrayLikeToArray_57325(a0, value); r5 = value; } else { value3 = ({}).toString.call(a0).slice(8, -1); r6 = value3 === 'Object' && a0.constructor; r9 = r6 ? a0.constructor.name : value3; if (r9 === 'Map') { r6 = global.Array.from(a0); } else if (r9 === 'Set') { r6 = global.Array.from(a0); } else if (r9 === 'Arguments') { value = _arrayLikeToArray_57325(a0, value); r6 = value; } else { regexp = RegExp('^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$', ''); if (regexp.test(r9)) { value = _arrayLikeToArray_57325(a0, value); r6 = value; } else { r6 = value; } } r5 = r6; } } else { r5 = value; } if (r5) { if (r5) { } return _fun57324; } const TypeError = global.TypeError; throw new TypeError('Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.'); } function CONNECTION_OPEN_57326() { // fn#57326, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7332:1483, offset: 0x013e3374, size: 143 bytes, params: 1, frame: 14 const ThreadSortOrder = (require(1388) /* metro dependency 1388: ThreadSortOrder */).ThreadSortOrder; env0_18 = ThreadSortOrder.LATEST_ACTIVITY; const Set = global.Set; const set = new Set(); env0_19 = []; const ThreadSearchTagSetting = (require(1390) /* metro dependency 1390: ThreadSearchTagSetting */).ThreadSearchTagSetting; env0_21 = ThreadSearchTagSetting.MATCH_SOME; } function getSortValue(a0, a1) { // fn#57327, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7332:1635, offset: 0x013e3403, size: 76 bytes, params: 3, frame: 13 const ThreadSortOrder = (require(1388) /* metro dependency 1388: ThreadSortOrder */).ThreadSortOrder; const LATEST_ACTIVITY = ThreadSortOrder.LATEST_ACTIVITY; return a1 === LATEST_ACTIVITY ? ReadStateStore.lastMessageId(a0.id) : a0.id; } function resort() { // fn#57328, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7332:1741, offset: 0x013e344f, size: 228 bytes, params: 1, frame: 17 var value4; const value2 = null; if (value2 == env0_17) { return false; } const result = !env0_15; const getChannel = ChannelStore.getChannel; const binding = env0_19; const value3 = Reflect.apply(getChannel, ChannelStore, [binding[binding.length - 1]]); if (value2 != value3) { value4 = getSortValue(value3, LATEST_ACTIVITY); } let defaultImport = importDefault(22) /* metro dependency 22 */; const getAllThreadsForParent = ChannelStore.getAllThreadsForParent; env0_19 = defaultImport(Reflect.apply(getAllThreadsForParent, ChannelStore, [env0_17])).filter(function(a0) { return a0.isArchivedThread(); }).filter(_fun57330).sort(function(a0, a1) { var defaultImport = importDefault(dependencyMap[15]); var getSortValueBinding = getSortValue; return defaultImport.compare(getSortValueBinding(a0, LATEST_ACTIVITY), getSortValueBinding(a1, LATEST_ACTIVITY)); }).map(function(a0) { return a0.id; }).reverse().value(); } function removeThreadId(a0) { // fn#57334, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7332:2501, offset: 0x013e36f4, size: 64 bytes, params: 2, frame: 13 const env0_0 = a0; if (env0_19.indexOf(a0) >= 0) { env0_19 = env0_19.filter(_fun57335); return undefined; } return false; } function matchesCurrentList(a0, a1, a2, a3) { // fn#57336, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7332:2582, offset: 0x013e3734, size: 88 bytes, params: 5, frame: 15 return env0_17 === a0 && LATEST_ACTIVITY === a1 && (require(1421) /* metro dependency 1421: SetUtils */).areSetsEqual(env0_12, a2) && MATCH_SOME === a3; } function _fun57337(a0) { // fn#57337, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7332:2686, offset: 0x013e378c, size: 191 bytes, params: 2, frame: 16 const closure = ArchivedThreadsStore; env0_7(closure, a0); return env0_4(closure, [{key: 'initialize', value: function() { this.waitFor(ChannelStore, JoinedThreadsStore, ReadStateStore); }}, {key: 'getCanLoadMore', value: value_57340}, {key: 'getNextOffset', value: value_57341}, {key: 'getIsInitialLoad', value: value_57342}, {key: 'isLoading', value: value_57343}, {key: 'getThreads', value: value_57344}]); } function THREAD_UPDATE_57346({channel}) { // fn#57346, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7332:3682, offset: 0x013e395d, size: 96 bytes, params: 2, frame: 15 var r1; var r0; var value3; var moduleValue; var isForumPostPinned2; const value2 = env0_17 === channel.parent_id; if (value2) { value3 = undefined; moduleValue = require(6899) /* metro dependency 6899: ForumUtils */; isForumPostPinned2 = moduleValue.isForumPostPinned(channel.id); if (isForumPostPinned2) { removeThreadId(channel.id); r1 = value3; } else { r1 = !!isForumPostPinned2; } r0 = r1; } else { r0 = value2; } return r0; } function CHANNEL_DELETE_57347({channel}) { // fn#57347, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7332:3828, offset: 0x013e39bd, size: 40 bytes, params: 2, frame: 10 if (channel.id !== env0_17) { return false; } CONNECTION_OPEN_57326(); } function LOAD_ARCHIVED_THREADS(a0) { // fn#57348, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7332:3920, offset: 0x013e39e5, size: 223 bytes, params: 2, frame: 16 var moduleValue; var set; let channelId = a0.channelId; let r2 = channelId === env0_17 && a0.sortOrder === LATEST_ACTIVITY; if (r2) { moduleValue = require(1421) /* metro dependency 1421: SetUtils */; r2 = moduleValue.areSetsEqual(a0.tagFilter, env0_12); } r2 = r2 && a0.tagSetting === MATCH_SOME; if (!r2) { CONNECTION_OPEN_57326(); } channelId = a0.channelId; env0_18 = a0.sortOrder; let tagFilter = a0.tagFilter; let Set = global.Set; if (tagFilter instanceof Set) { tagFilter = a0.tagFilter; } else { Set = global.Set; tagFilter = a0.tagFilter; set = new Set(); } env0_21 = a0.tagSetting; } function LOAD_ARCHIVED_THREADS_SUCCESS_57349(a0) { // fn#57349, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7332:4203, offset: 0x013e3ac4, size: 469 bytes, params: 2, frame: 18 var value3; var binding; var channel; var moduleValue2; var trackForumMorePostsLoaded; var hasMore; var Array; var info; var offset; if (a0.channelId !== env0_17) { env0_22.info('ignored stale archived threads response', {channelId: a0.channelId}); } else { if (a0.sortOrder !== LATEST_ACTIVITY) { env0_22.info('ignored stale archived threads response', {channelId: a0.channelId}); return false; } var moduleValue = require(1421) /* metro dependency 1421: SetUtils */; if (moduleValue.areSetsEqual(a0.tagFilter, env0_12)) { if (a0.tagSetting !== MATCH_SOME) { env0_22.info('ignored stale archived threads response', {channelId: a0.channelId}); return false; } value3 = a0.threads.filter(function(a0) { return ALL_CHANNEL_TYPES.has(a0.type); }).map(_fun57351); binding = env0_19; env0_19 = binding.concat(value3); channel = ChannelStore.getChannel(env0_17); if (channel != null && channel.isForumLikeChannel()) { moduleValue2 = require(7155) /* metro dependency 7155: Tracking */; trackForumMorePostsLoaded = moduleValue2.trackForumMorePostsLoaded; Array = global.Array; Reflect.apply(trackForumMorePostsLoaded, moduleValue2, [{guildId: channel.guild_id, channelId: channel.id, numArchivedThreads: env0_19.length, hasMoreThreads: a0.hasMore, filterTagIds: Array.from(a0.tagFilter), sortOrder: a0.sortOrder}]); } resort(); binding = env0_22; info = binding.info; offset = a0.offset; hasMore = a0.hasMore; Reflect.apply(info, binding, ['archived threads loaded', {channelId: env0_17, offset: offset, count: env0_19.length, hasMore: hasMore}]); hasMore = a0.hasMore; offset = a0.offset; env0_20 = offset + 25; return undefined; } binding = env0_22; binding.info('ignored stale archived threads response', {channelId: a0.channelId}); } return false; } function LOAD_ARCHIVED_THREADS_FAIL(a0) { // fn#57352, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7332:4908, offset: 0x013e3c99, size: 116 bytes, params: 2, frame: 16 if (a0.channelId === env0_17) { if (a0.sortOrder !== LATEST_ACTIVITY) { return false; } var moduleValue = require(1421) /* metro dependency 1421: SetUtils */; if (moduleValue.areSetsEqual(a0.tagFilter, env0_12)) { if (a0.tagSetting !== MATCH_SOME) { return false; } return undefined; } } return false; } function RESORT_THREADS_57353(a0) { // fn#57353, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7332:5084, offset: 0x013e3d0d, size: 59 bytes, params: 2, frame: 12 let r0 = env0_17 == null || a0.channelId == null; r0 = (!r0 ? env0_17 === a0.channelId : r0) && resort(); return r0; } function _fun57330(a0) { // fn#57330, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7332:1933, offset: 0x013e3542, size: 343 bytes, params: 2, frame: 21 var environment; var r0; var r5; var value5; var appliedTags; var value6; var value7; var value9; var value10; var sortValue; var value12; var compare; let value = environment.__proto__; if (env1_12.size === 0) { if (result) { return true; } value10 = null; if (value10 == env0_1) { return true; } r5 = value10 == a0 ? value10 : getSortValue(a0, LATEST_ACTIVITY); value12 = value10 != r5; if (value12) { value = importDefault(21) /* metro dependency 21: SnowflakeUtils */; value = value.compare(r5, env0_1) >= 0; r0 = value; } else { r0 = value12; } return r0; } const value2 = undefined; const ThreadSearchTagSetting = (require(1390) /* metro dependency 1390: ThreadSearchTagSetting */).ThreadSearchTagSetting; const MATCH_SOME2 = ThreadSearchTagSetting.MATCH_SOME; if (MATCH_SOME2 === MATCH_SOME) { appliedTags = a0.appliedTags; if ((appliedTags == null ? value2 : appliedTags.some(_fun57331)) !== true) { return false; } if (result) { return true; } value10 = null; if (value10 == env0_1) { return true; } r5 = value10 == a0 ? value10 : getSortValue(a0, LATEST_ACTIVITY); value12 = value10 != r5; if (value12) { value = importDefault(21) /* metro dependency 21: SnowflakeUtils */; value = value.compare(r5, env0_1) >= 0; r0 = value; } else { r0 = value12; } return r0; } const MATCH_ALL = ThreadSearchTagSetting.MATCH_ALL; if (MATCH_ALL !== MATCH_SOME) { if (result) { return true; } value10 = null; if (value10 == env0_1) { return true; } r5 = value10 == a0 ? value10 : getSortValue(a0, LATEST_ACTIVITY); value12 = value10 != r5; if (value12) { value = importDefault(21) /* metro dependency 21: SnowflakeUtils */; value = value.compare(r5, env0_1) >= 0; r0 = value; } else { r0 = value12; } return r0; } const _createForOfIteratorHelperLoose_57323Binding = _createForOfIteratorHelperLoose_57323; const binding = env1_12; const value3 = _createForOfIteratorHelperLoose_57323Binding(binding.values()); const value4 = value3(); let done = value4.done; if (done) { if (result) { return true; } value10 = null; if (value10 == env0_1) { return true; } r5 = value10 == a0 ? value10 : getSortValue(a0, LATEST_ACTIVITY); value12 = value10 != r5; if (value12) { value = importDefault(21) /* metro dependency 21: SnowflakeUtils */; value = value.compare(r5, env0_1) >= 0; r0 = value; } else { r0 = value12; } return r0; } let r4 = value4; while (true) { value5 = r4.value; appliedTags = a0.appliedTags; if (appliedTags == null) { r0 = value2; } else { value6 = appliedTags.includes(value5); r0 = value6; } if (r0 !== true) { break; } value7 = value3(); done = value7.done; if (done) { value9 = environment; if (result) { return true; } value10 = null; if (value10 == env0_1) { return true; } if (value10 == a0) { r5 = value10; continue; } sortValue = getSortValue(a0, LATEST_ACTIVITY); r5 = sortValue; value12 = value10 != r5; if (!value12) { r0 = value12; continue; } value = importDefault(21) /* metro dependency 21: SnowflakeUtils */; compare = value.compare; value = Reflect.apply(compare, value, [r5, env0_1]) >= 0; r0 = value; return r0; } r4 = value7; continue; } return false; } function value_57340(a0, a1, a2, a3) { // fn#57340, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7332:3077, offset: 0x013e386e, size: 63 bytes, params: 5, frame: 18 var r1; var r0; const value = environment.__proto__; const value2 = matchesCurrentList(a0, a1, a2, a3); if (value2) { r1 = env1_15 && !env1_13; r1 = r1 && !env1_16; r0 = r1; } else { r0 = !!value2; } return r0; } function value_57341(a0, a1, a2, a3) { // fn#57341, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7332:3173, offset: 0x013e38ad, size: 36 bytes, params: 5, frame: 18 return matchesCurrentList(a0, a1, a2, a3) ? env1_20 : 0; } function value_57342(a0, a1, a2, a3) { // fn#57342, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7332:3262, offset: 0x013e38d1, size: 37 bytes, params: 5, frame: 18 const value2 = matchesCurrentList(a0, a1, a2, a3); return value2 ? env1_14 : !value2; } function value_57343(a0, a1, a2, a3) { // fn#57343, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7332:3343, offset: 0x013e38f6, size: 34 bytes, params: 5, frame: 18 return matchesCurrentList(a0, a1, a2, a3) && env1_13; } function value_57344(a0, a1, a2, a3) { // fn#57344, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7332:3425, offset: 0x013e3918, size: 40 bytes, params: 5, frame: 18 return matchesCurrentList(a0, a1, a2, a3) ? env1_19 : env1_23; } function _fun57331(a0) { // fn#57331, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7332:2064, offset: 0x013e3699, size: 22 bytes, params: 2, frame: 11 return env2_12.has(a0); }