Files
discord-decomp/sources/modules/threads/JoinedThreadsStore.tsx
T
2026-07-28 01:06:53 +03:00

452 lines
21 KiB
TypeScript

/* Metro module 3786; source: modules/threads/JoinedThreadsStore.tsx; dependencies: [6, 7, 15, 17, 18, 1383, 1226, 3787, 22, 566, 694, 2] */
import ClassCallCheck from '../../by-id/module-00006-ClassCallCheck.js'; /* Metro dependency 6 */
import CreateClass from '../../by-id/module-00007-CreateClass.js'; /* Metro dependency 7 */
import PossibleConstructorReturn from '../../by-id/module-00015-PossibleConstructorReturn.js'; /* Metro dependency 15 */
import Module00017 from '../../by-id/module-00017.js'; /* Metro dependency 17 */
import Inherits from '../../by-id/module-00018-Inherits.js'; /* Metro dependency 18 */
import Flux from '../../external/discord_common/js/packages/flux/index.tsx'; /* Metro dependency 566 */
import AuthenticationStore from '../../stores/AuthenticationStore.tsx'; /* Metro dependency 1226 */
import MuteTimers from '../../lib/MuteTimers.tsx'; /* Metro dependency 3787 */
import * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ChannelRecordModule from '../../records/ChannelRecord.tsx'; /* Metro dependency 1383 */
function _fun28754(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#28754, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3913:6, offset: 0x00f81c54, size: 534 bytes, params: 8, frame: 22
const closure = function(a0) {
var guildId = a0.guildId;
var env0_0 = guildId;
var members = a0.members;
if (guildId != null && members != null) {
members.forEach(_fun28765);
}
};
const closure2 = function(a0) {
var guildId = a0.guildId;
var env0_0 = guildId;
if (guildId != null) {
a0.data.forEach(_fun28767);
}
};
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
let env0_9 = {};
let value = MuteTimers;
value = new value();
const Set = global.Set;
let set = new Set();
const Store = (Flux).Store;
_fun28769(Store).displayName = 'JoinedThreadsStore';
set = new set(importDefault(694) /* metro dependency 694: Dispatcher */, {CONNECTION_OPEN: CONNECTION_OPEN_28779,
OVERLAY_INITIALIZE: function({joinedThreads}) {
env0_9 = importDefault(dependencyMap[8])(joinedThreads).map(_fun28782).keyBy('threadId').value();
}, GUILD_CREATE: function({guild}) {
deleteGuildThreads(guild.id);
storeThreads(guild);
}, GUILD_DELETE: function({guild}) {
deleteGuildThreads(guild.id);
}, THREAD_CREATE: function({channel}) {
storeThread(channel);
}, THREAD_LIST_SYNC: closure, SEARCH_MESSAGES_SUCCESS: closure2, MOD_VIEW_SEARCH_MESSAGES_SUCCESS: closure2,
LOAD_THREADS_SUCCESS: closure, LOAD_ARCHIVED_THREADS_SUCCESS: closure, THREAD_DELETE: THREAD_DELETE,
THREAD_MEMBER_UPDATE: THREAD_MEMBER_UPDATE_28787, THREAD_MEMBER_LOCAL_UPDATE: THREAD_MEMBER_LOCAL_UPDATE,
THREAD_MEMBERS_UPDATE: THREAD_MEMBERS_UPDATE_28789});
(FileImportTrackerModule).fileFinishedImporting('modules/threads/JoinedThreadsStore.tsx');
exports.default = set;
function _isNativeReflectConstruct_28755() { // fn#28755, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3913:186, offset: 0x00f81e6a, 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_28755_isNativeReflectConstruct = function() {
return !!result;
})();
}
function deleteGuildThreads(a0) { // fn#28758, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3913:413, offset: 0x00f81ec8, size: 89 bytes, params: 2, frame: 13
const env0_0 = a0;
env0_9 = (importDefault(22) /* metro dependency 22 */)(env0_9).reject(_fun28759).keyBy('threadId').value();
function _fun28759({guildId}) { // fn#28759, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3913:465, offset: 0x00f81f21, size: 21 bytes, params: 2, frame: 2
return guildId === env0_0;
}
}
function storeThreads({threads}) { // fn#28760, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3913:510, offset: 0x00f81f36, size: 36 bytes, params: 2, frame: 11
if (threads != null) {
threads.forEach(storeThread);
}
}
function storeThread(a0) { // fn#28761, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3913:585, offset: 0x00f81f5a, size: 194 bytes, params: 2, frame: 16
var member;
var binding;
var id;
var object;
var Date;
var joinTimestamp;
var value4;
var date;
var handleMutedChangeBinding;
if (ALL_CHANNEL_TYPES.has(a0.type) && a0.member != null) {
binding = env0_9;
id = a0.id;
object = {};
object.threadId = a0.id;
object.guildId = a0.guild_id;
member = a0.member;
object.flags = member.flags;
member = a0.member;
object.muted = member.muted;
member = a0.member;
object.muteConfig = member.muteConfig;
Date = global.Date;
member = a0.member;
joinTimestamp = member.joinTimestamp;
value4 = Object.create(Date.prototype, {constructor: {value: Date}});
date = new Date();
object.joinTimestamp = date instanceof Object ? date : value4;
binding[id] = object;
handleMutedChangeBinding = handleMutedChange;
id = a0.id;
handleMutedChangeBinding(id);
}
}
function handleMutedChange(a0) { // fn#28762, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3913:829, offset: 0x00f8201c, size: 239 bytes, params: 2, frame: 18
var Set;
var value2;
var set;
var value6;
const env0_0 = a0;
const property = env0_9[a0];
let binding = env0_10;
binding.clearTimer(a0);
if (property.muted === true) {
Set = global.Set;
binding = set2;
set = new Set(binding);
set2 = set;
set.add(a0);
binding = env0_10;
if (binding.setTimer(a0, property.muteConfig, _fun28763)) {
env0_9[a0].muted = false;
Set = global.Set;
binding = set2;
value6 = Object.create(Set.prototype, {constructor: {value: Set}});
set = new Set(binding);
(set instanceof Object ? set : value6).delete(a0);
}
} else {
Set = global.Set;
binding = set2;
value2 = Object.create(Set.prototype, {constructor: {value: Set}});
set = new Set(binding);
(set instanceof Object ? set : value2).delete(a0);
}
function _fun28763() { // fn#28763, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3913:951, offset: 0x00f8210b, size: 90 bytes, params: 1, frame: 13
let binding = env1_9;
const binding2 = env0_0;
binding[binding2].muted = false;
const Set = global.Set;
binding = env1_11;
const value3 = Object.create(Set.prototype, {constructor: {value: Set}});
const set = new Set(binding);
(set instanceof Object ? set : value3).delete(binding2);
env1_12.emitChange();
}
}
function LOAD_ARCHIVED_THREADS_SUCCESS_28764({guildId, members}) { // fn#28764, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3913:1081, offset: 0x00f82165, size: 55 bytes, params: 2, frame: 13
if (guildId != null && members != null) {
members.forEach(_fun28765);
}
function _fun28765(a0) { // fn#28765, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3913:1177, offset: 0x00f8219c, size: 130 bytes, params: 2, frame: 16
const binding = env1_9;
const id = a0.id;
const object = {};
object.threadId = a0.id;
object.guildId = guildId;
object.flags = a0.flags;
object.muted = a0.muted;
object.muteConfig = a0.muteConfig;
const Date = global.Date;
const joinTimestamp = a0.joinTimestamp;
const value3 = Object.create(Date.prototype, {constructor: {value: Date}});
const date = new Date(joinTimestamp);
object.joinTimestamp = date instanceof Object ? date : value3;
binding[id] = object;
handleMutedChange(a0.id);
}
}
function MOD_VIEW_SEARCH_MESSAGES_SUCCESS_28766({guildId, data}) { // fn#28766, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3913:1334, offset: 0x00f8221e, size: 44 bytes, params: 2, frame: 12
if (guildId != null) {
data.forEach(function({members}) {
members.forEach(_fun28768);
});
}
function _fun28767({members}) { // fn#28767, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3913:1411, offset: 0x00f8224a, size: 30 bytes, params: 2, frame: 11
members.forEach(_fun28768);
function _fun28768(a0) { // fn#28768, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3913:1438, offset: 0x00f82268, size: 130 bytes, params: 2, frame: 16
const binding = env2_9;
const id = a0.id;
const object = {};
object.threadId = a0.id;
object.guildId = guildId;
object.flags = a0.flags;
object.muted = a0.muted;
object.muteConfig = a0.muteConfig;
const Date = global.Date;
const joinTimestamp = a0.joinTimestamp;
const value3 = Object.create(Date.prototype, {constructor: {value: Date}});
const date = new Date(joinTimestamp);
object.joinTimestamp = date instanceof Object ? date : value3;
binding[id] = object;
handleMutedChange(a0.id);
}
}
}
function _fun28769(a0) { // fn#28769, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3913:1604, offset: 0x00f822ea, size: 233 bytes, params: 2, frame: 16
const JoinedThreadsStoreClass2 = JoinedThreadsStoreClass;
Inherits(JoinedThreadsStoreClass2, a0);
return CreateClass(JoinedThreadsStoreClass2, [{key: 'initialize', value: function() {
this.waitFor(AuthenticationStore);
}}, {key: 'hasJoined', value: value_28772}, {key: 'joinTimestamp', value: value_28773}, {key: 'flags',
value: value_28774}, {key: 'getInitialOverlayState', value: value_28775}, {key: 'getMuteConfig',
value: value_28776}, {key: 'getMutedThreads', value: value_28777}, {key: 'isMuted', value: value_28778}]);
function JoinedThreadsStoreClass() { // fn#28770, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3913:1616, offset: 0x00ea76ec, size: 113 bytes, params: 1, frame: 20
const value = environment.__proto__;
env1_2(this, JoinedThreadsStoreClass);
const value3 = env1_5(JoinedThreadsStoreClass);
return env1_4(this, _isNativeReflectConstruct_28755() ? global.Reflect.construct(value3, arguments,
env1_5(this).constructor) : value3.apply(this, arguments));
}
function value_28772(a0) { // fn#28772, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3913:2001, offset: 0x00f823d3, size: 16 bytes, params: 2, frame: 2
return a0 in env1_9;
}
function value_28773(a0) { // fn#28773, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3913:2056, offset: 0x00f823e3, size: 33 bytes, params: 2, frame: 3
const value = environment.__proto__;
return env1_9[a0]?.joinTimestamp;
}
function value_28774(a0) { // fn#28774, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3913:2140, offset: 0x00f82404, size: 32 bytes, params: 2, frame: 3
const value = environment.__proto__;
return env1_9[a0]?.flags;
}
function value_28775() { // fn#28775, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3913:2233, offset: 0x00f82424, size: 27 bytes, params: 1, frame: 11
const Object = global.Object;
return Object.values(env1_9);
}
function value_28776(a0) { // fn#28776, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3913:2297, offset: 0x00f8243f, size: 33 bytes, params: 2, frame: 3
const value = environment.__proto__;
return env1_9[a0]?.muteConfig;
}
function value_28777() { // fn#28777, offset: 0x00ef8482, size: 9 bytes, params: 1, frame: 1
return env1_11;
}
function value_28778(a0) { // fn#28778, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3913:2431, offset: 0x00f82460, size: 22 bytes, params: 2, frame: 11
return env1_11.has(a0);
}
}
function CONNECTION_OPEN_28779({guilds}) { // fn#28779, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3913:2552, offset: 0x00f82476, size: 85 bytes, params: 2, frame: 11
env0_10.reset();
const Set = global.Set;
const set = new Set();
env0_9 = {};
guilds.forEach(function(a0) {
storeThreads(a0);
});
}
function OVERLAY_INITIALIZE_28781({joinedThreads}) { // fn#28781, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3913:2671, offset: 0x00f824de, size: 88 bytes, params: 2, frame: 13
env0_9 = (importDefault(22) /* metro dependency 22 */)(joinedThreads).map(function(a0) {
var r3;
var object = {};
copyDataProperties(object, a0, r3);
var Date = global.Date;
object['joinTimestamp'] = new Date(a0.joinTimestamp);
return object;
}).keyBy('threadId').value();
}
function THREAD_DELETE({channel}) { // fn#28786, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3913:3363, offset: 0x00f825cd, size: 61 bytes, params: 2, frame: 13
var object;
let id = channel.id;
if (id in env0_9) {
object = {};
copyDataProperties(object, env0_9, id);
id = channel.id;
delete object[id];
return undefined;
}
return false;
}
function THREAD_MEMBER_UPDATE_28787(a0) { // fn#28787, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3913:3474, offset: 0x00f8260a, size: 158 bytes, params: 2, frame: 16
const id2 = AuthenticationStore.getId();
const userId = a0.userId;
if (id2 !== userId) {
return false;
}
const binding = env0_9;
const id = a0.id;
const object = {};
object.threadId = a0.id;
object.guildId = a0.guildId;
object.flags = a0.flags;
object.muted = a0.muted;
object.muteConfig = a0.muteConfig;
const Date = global.Date;
const joinTimestamp = a0.joinTimestamp;
const value3 = Object.create(Date.prototype, {constructor: {value: Date}});
const date = new Date(joinTimestamp);
object.joinTimestamp = date instanceof Object ? date : value3;
binding[id] = object;
handleMutedChange(a0.id);
}
function THREAD_MEMBER_LOCAL_UPDATE({id, userId, guildId, isJoining}) { // fn#28788, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3913:3730, offset: 0x00f826a8, size: 155 bytes, params: 2, frame: 15
var r1;
var r0;
var value3;
var binding;
var object;
const authenticationStoreBinding = AuthenticationStore;
const getId = authenticationStoreBinding.getId;
const value2 = Reflect.apply(getId, authenticationStoreBinding, []) === userId;
if (value2) {
value3 = guildId !== null;
if (value3) {
binding = env0_9;
if (isJoining) {
object = {threadId: id, guildId: guildId, flags: 0, muted: true};
object.muteConfig = {end_time: undefined};
object.joinTimestamp = new global.Date();
binding[id] = object;
} else {
delete binding[id];
}
r1 = undefined;
} else {
r1 = value3;
}
r0 = r1;
} else {
r0 = value2;
}
return r0;
}
function THREAD_MEMBERS_UPDATE_28789(a0) { // fn#28789, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3913:3982, offset: 0x00f82743, size: 145 bytes, params: 2, frame: 17
var r7;
var r3;
var includes;
var authenticationStoreBinding;
var object;
const env0_0 = a0;
let env0_1 = false;
const removedMemberIds = a0.removedMemberIds;
const value = removedMemberIds != null;
if (value) {
includes = removedMemberIds.includes;
authenticationStoreBinding = AuthenticationStore;
r3 = Reflect.apply(includes, removedMemberIds, [authenticationStoreBinding.getId()]);
r7 = authenticationStoreBinding;
} else {
r3 = value;
}
r3 = r3 && a0.id in env0_9;
if (r3) {
object = {};
copyDataProperties(object, env0_9, r7);
delete object[a0.id];
env0_1 = true;
}
const addedMembers = a0.addedMembers;
if (addedMembers != null) {
addedMembers.forEach(_fun28790);
}
return env0_1;
function _fun28790(a0) { // fn#28790, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3913:4171, offset: 0x00f827d4, size: 182 bytes, params: 2, frame: 18
var object;
var binding;
var id;
var object2;
var Date;
var joinTimestamp;
var value3;
var date;
var handleMutedChangeBinding;
const userId = a0.userId;
const authenticationStoreBinding = AuthenticationStore;
const getId = authenticationStoreBinding.getId;
if (userId === Reflect.apply(getId, authenticationStoreBinding, [])) {
object = {};
copyDataProperties(object, env1_9, undefined);
binding = env0_0;
id = binding.id;
object2 = {};
object2.threadId = binding.id;
object2.guildId = binding.guildId;
object2.flags = a0.flags;
object2.muted = a0.muted;
object2.muteConfig = a0.muteConfig;
Date = global.Date;
joinTimestamp = a0.joinTimestamp;
value3 = Object.create(Date.prototype, {constructor: {value: Date}});
date = new Date();
object2.joinTimestamp = date instanceof Object ? date : value3;
object[id] = object2;
handleMutedChangeBinding = handleMutedChange;
id = binding.id;
handleMutedChangeBinding(id);
}
}
}
}
function _fun28782(a0) { // fn#28782, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3913:2741, offset: 0x00f82536, size: 60 bytes, params: 2, frame: 13
const object = {};
copyDataProperties(object, a0, undefined);
const Date = global.Date;
object['joinTimestamp'] = new Date(a0.joinTimestamp);
return object;
}
global.__d(_fun28754, 3786, [6, 7, 15, 17, 18, 1383, 1226, 3787, 22, 566, 694,
2]) /* metro module 3786, dependencies: [6, 7, 15, 17, 18, 1383, 1226, 3787, 22, 566, 694, 2] */;