2022 lines
90 KiB
TypeScript
2022 lines
90 KiB
TypeScript
/* Metro module 5214; source: stores/GuildReadStateStore.tsx; dependencies: [6, 7, 15, 17, 18, 4623, 5215, 5071, 3786, 1383, 1226, 1379, 1867, 1228, 3784, 4605, 1934, 4864, 1878, 661, 1386, 4865, 5102, 21, 22, 3791, 2] */
|
|
function _fun45987(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#45987, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:6, offset: 0x0119d445, size: 1018 bytes, params: 8, frame: 22
|
|
const env0_0 = require;
|
|
const _arrayLikeToArray_45993 = 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 sanitizeGuildId = function(a0) {
|
|
if (NULL_STRING_GUILD_ID === a0) {
|
|
return null;
|
|
}
|
|
if (a0 === null) {
|
|
return null;
|
|
}
|
|
if (a0 === undefined) {
|
|
return null;
|
|
}
|
|
return a0;
|
|
};
|
|
const updateGuildUnread = function(a0) {
|
|
var Object = global.Object;
|
|
a0.unread = Object.entries(a0.unreadByType).some(_fun46004);
|
|
return a0;
|
|
};
|
|
const handleOverlayInitialize_46014 = function({guilds}) {
|
|
var r3;
|
|
var property;
|
|
var value6;
|
|
env0_28 = {};
|
|
var value2 = 0;
|
|
env0_30 = value2;
|
|
var Set = global.Set;
|
|
var value4 = new Set();
|
|
recountGuild(null);
|
|
var length = guilds.length;
|
|
if (value2 < length) {
|
|
r3 = value2;
|
|
while (true) {
|
|
property = guilds[r3];
|
|
if (property != null) {
|
|
recountGuild(property.properties.id);
|
|
}
|
|
value6 = typeof r3 === 'bigint' ? r3 + 1n : +r3 + 1;
|
|
if (value6 < length) {
|
|
r3 = value6;
|
|
continue;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
};
|
|
const recomputeAllGuilds = function() {
|
|
var r2;
|
|
var value7;
|
|
env0_28 = {};
|
|
var value3 = new global.Set();
|
|
recountGuild(null);
|
|
var value5 = global.Object.values(GuildStore.getGuildIds());
|
|
var value6 = 0;
|
|
if (value6 < value5.length) {
|
|
for (r2 = value6; true; r2 = value7) {
|
|
recountGuild(value5[r2]);
|
|
value7 = typeof r2 === 'bigint' ? r2 + 1n : +r2 + 1;
|
|
if (!(value7 < value5.length)) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
};
|
|
const handleGuildCreate_46018 = function({guild}) {
|
|
return recountGuild(guild.id);
|
|
};
|
|
const handleChannelDelete_46020 = function({channel}) {
|
|
var id = channel.id;
|
|
channel = channel.guild_id;
|
|
return recountChannels(channel, [id]);
|
|
};
|
|
const handleGuildEventUpdate = function({guildScheduledEvent}) {
|
|
var updateNonChannelBinding = updateNonChannel;
|
|
guildScheduledEvent = guildScheduledEvent.guild_id;
|
|
return updateNonChannelBinding(guildScheduledEvent, ReadStateTypes.GUILD_EVENT);
|
|
};
|
|
const handleGuildEventDelete = function({guildScheduledEvent}) {
|
|
var updateNonChannelBinding = updateNonChannel;
|
|
guildScheduledEvent = guildScheduledEvent.guild_id;
|
|
return updateNonChannelBinding(guildScheduledEvent, ReadStateTypes.GUILD_EVENT);
|
|
};
|
|
const handleGuildFeatureAck = function({id, ackType}) {
|
|
return updateNonChannel(id, ackType);
|
|
};
|
|
const handleThreadMemberUpdate = function({id, guildId}) {
|
|
return recountChannels(guildId, [id]);
|
|
};
|
|
const handleMarkGuildAsRead = function({guildId}) {
|
|
return recountGuild(guildId);
|
|
};
|
|
const handleGuildUpdate = function({guildId}) {
|
|
return recountGuild(guildId);
|
|
};
|
|
const handleUserGuildSettingsUpdate = function({guildId}) {
|
|
return recountGuild(guildId);
|
|
};
|
|
const handleRecentMentionsSuccess = function({messages}) {
|
|
var Set = global.Set;
|
|
var value = messages.map(_fun46055);
|
|
value = new Set(value);
|
|
value.forEach(_fun46056);
|
|
};
|
|
let 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 notificationCenterItemsStore = importDefault(4623) /* metro dependency 4623: NotificationCenterItemsStore */;
|
|
const recentMentionsStore = importDefault(5215) /* metro dependency 5215: RecentMentionsStore */;
|
|
const activeJoinedThreadsStore = importDefault(5071) /* metro dependency 5071: ActiveJoinedThreadsStore */;
|
|
const joinedThreadsStore = importDefault(3786) /* metro dependency 3786: JoinedThreadsStore */;
|
|
let value = require(1383) /* metro dependency 1383: ChannelRecord */;
|
|
const env0_12 = value.getBasicAccessPermissions;
|
|
const env0_13 = value.isGuildVocalChannelType;
|
|
const env0_14 = value.isThread;
|
|
const authenticationStore = importDefault(1226) /* metro dependency 1226: AuthenticationStore */;
|
|
const channelStore = importDefault(1379) /* metro dependency 1379: ChannelStore */;
|
|
const guildStore = importDefault(1867) /* metro dependency 1867: GuildStore */;
|
|
value = importDefault(1228) /* metro dependency 1228: MobileCacheSnapshotStore */;
|
|
const permissionStore = importDefault(3784) /* metro dependency 3784: PermissionStore */;
|
|
const readStateStore = importDefault(4605) /* metro dependency 4605: ReadStateStore */;
|
|
const selectedChannelStore = importDefault(1934) /* metro dependency 1934: SelectedChannelStore */;
|
|
const userGuildSettingsStore = importDefault(4864) /* metro dependency 4864: UserGuildSettingsStore */;
|
|
const userStore = importDefault(1878) /* metro dependency 1878: UserStore */;
|
|
const constantsModule = require(661) /* metro dependency 661: Constants */;
|
|
const env0_23 = constantsModule.FAVORITES;
|
|
const NULL_STRING_GUILD_ID = constantsModule.NULL_STRING_GUILD_ID;
|
|
const env0_24 = (require(1386) /* metro dependency 1386: ChannelConstants */).ChannelFlags;
|
|
const readStateConstantsModule = require(4865) /* metro dependency 4865: ReadStateConstants */;
|
|
const env0_25 = readStateConstantsModule.ReadStateTypes;
|
|
const env0_26 = readStateConstantsModule.UnreadSetting;
|
|
let env0_28 = {};
|
|
let Set = global.Set;
|
|
const set = new Set();
|
|
value = _fun46057(value);
|
|
value.displayName = 'GuildReadStateStore';
|
|
value.LATEST_SNAPSHOT_VERSION = 1;
|
|
value = new value();
|
|
(require(2) /* metro dependency 2 */).fileFinishedImporting('stores/GuildReadStateStore.tsx');
|
|
exports.default = value;
|
|
}
|
|
|
|
function _isNativeReflectConstruct_45988() { // fn#45988, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:534, offset: 0x0119d83f, 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_45988_isNativeReflectConstruct = function() {
|
|
return !!result;
|
|
})();
|
|
}
|
|
|
|
function _createForOfIteratorHelperLoose_45991(a0, a1) { // fn#45991, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:727, offset: 0x0119d89d, 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 _fun45992;
|
|
}
|
|
value = undefined;
|
|
if (a0) {
|
|
if (typeof a0 === 'string') {
|
|
value = _arrayLikeToArray_45993(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_45993(a0, value);
|
|
r6 = value;
|
|
} else {
|
|
regexp = RegExp('^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$', '');
|
|
if (regexp.test(r9)) {
|
|
value = _arrayLikeToArray_45993(a0, value);
|
|
r6 = value;
|
|
} else {
|
|
r6 = value;
|
|
}
|
|
}
|
|
r5 = r6;
|
|
}
|
|
} else {
|
|
r5 = value;
|
|
}
|
|
if (r5) {
|
|
if (r5) {
|
|
}
|
|
return _fun45992;
|
|
}
|
|
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 createGuildState(a0) { // fn#45994, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:1664, offset: 0x0119da0f, size: 88 bytes, params: 2, frame: 6
|
|
return {'unread': false, 'unreadByType': null, 'unreadChannelId': null, 'lowImportanceMentionCount': 0,
|
|
'highImportanceMentionCount': 0, 'mentionCounts': null, 'ncMentionCount': 0, unreadByType: {},
|
|
mentionCounts: {}, sentinel: env0_28[a0 ?? NULL_STRING_GUILD_ID]?.sentinel ?? 0};
|
|
}
|
|
|
|
function getOrCreateGuildState(a0) { // fn#45995, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:1911, offset: 0x0119da67, size: 63 bytes, params: 2, frame: 16
|
|
let value = a0;
|
|
const binding = env0_28;
|
|
const r1 = value ?? NULL_STRING_GUILD_ID;
|
|
const binding2 = env0_28;
|
|
let r0 = value ?? NULL_STRING_GUILD_ID;
|
|
const property = binding2[r0];
|
|
if (property != null) {
|
|
r0 = property;
|
|
} else {
|
|
value = createGuildState(value);
|
|
r0 = value;
|
|
}
|
|
binding[r1] = r0;
|
|
return r0;
|
|
}
|
|
|
|
function updateGuildUnreadSentinel(a0) { // fn#45996, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:2020, offset: 0x0119daa6, size: 45 bytes, params: 2, frame: 12
|
|
const orCreateGuildState = getOrCreateGuildState(a0);
|
|
const sentinel = orCreateGuildState.sentinel;
|
|
orCreateGuildState.sentinel = typeof sentinel === 'bigint' ? sentinel + 1n : +sentinel + 1;
|
|
const binding = env0_30;
|
|
env0_30 = typeof binding === 'bigint' ? binding + 1n : +binding + 1;
|
|
}
|
|
|
|
function disableUnreadForOptInChannel(a0, a1, a2) { // fn#45997, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:2098, offset: 0x0119dad3, size: 80 bytes, params: 4, frame: 15
|
|
var r1;
|
|
var r0;
|
|
const value = a2;
|
|
const value2 = a0.guild_id != null;
|
|
if (value2) {
|
|
r1 = value && !(isThread(a0.type) || UserGuildSettingsStore.isChannelRecordOrParentOptedIn(a0));
|
|
r1 = r1 && a1 === 0;
|
|
r0 = r1;
|
|
} else {
|
|
r0 = value2;
|
|
}
|
|
return r0;
|
|
}
|
|
|
|
function isCountableChannel(a0) { // fn#45998, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:2230, offset: 0x0119db23, size: 343 bytes, params: 2, frame: 21
|
|
var disableUnreadForOptInChannelBinding;
|
|
var moduleValue;
|
|
const value = a1;
|
|
const value2 = a2;
|
|
const r2 = value !== undefined ? value : 0;
|
|
const r3 = value2 !== undefined ? value2 : false;
|
|
if (a0 != null) {
|
|
if (a0.isGuildVocal()) {
|
|
if (r2 === 0) {
|
|
return false;
|
|
}
|
|
if (a0.hasFlag(ChannelFlags.IS_GUILD_RESOURCE_CHANNEL)) {
|
|
return false;
|
|
}
|
|
if (r2 === 0) {
|
|
if (a0.isThread() ? JoinedThreadsStore.isMuted(a0.id) || UserGuildSettingsStore.isGuildOrCategoryOrChannelMuted(a0.guild_id,
|
|
|
|
|
|
|
|
a0.parent_id) : UserGuildSettingsStore.isGuildOrCategoryOrChannelMuted(a0.guild_id, a0.id)) {
|
|
return false;
|
|
}
|
|
if (a0.isPrivate()) {
|
|
return r2 > 0 || UserGuildSettingsStore.resolveUnreadSetting(a0) === UnreadSetting.ALL_MESSAGES;
|
|
}
|
|
disableUnreadForOptInChannelBinding = disableUnreadForOptInChannel;
|
|
moduleValue = require(5102) /* metro dependency 5102: isOptInEnabled */;
|
|
if (disableUnreadForOptInChannelBinding(a0, r2, moduleValue.isOptInEnabledForGuild(a0.guild_id))) {
|
|
return false;
|
|
}
|
|
if (PermissionStore.can(a0.accessPermissions, a0)) {
|
|
return r2 > 0 || UserGuildSettingsStore.resolveUnreadSetting(a0) === UnreadSetting.ALL_MESSAGES;
|
|
}
|
|
return false;
|
|
}
|
|
if (r3) {
|
|
if (a0.isThread() ? JoinedThreadsStore.isMuted(a0.id) || UserGuildSettingsStore.isGuildOrCategoryOrChannelMuted(a0.guild_id,
|
|
|
|
|
|
|
|
a0.parent_id) : UserGuildSettingsStore.isGuildOrCategoryOrChannelMuted(a0.guild_id, a0.id)) {
|
|
return false;
|
|
}
|
|
if (a0.isPrivate()) {
|
|
return r2 > 0 || UserGuildSettingsStore.resolveUnreadSetting(a0) === UnreadSetting.ALL_MESSAGES;
|
|
}
|
|
disableUnreadForOptInChannelBinding = disableUnreadForOptInChannel;
|
|
moduleValue = require(5102) /* metro dependency 5102: isOptInEnabled */;
|
|
if (disableUnreadForOptInChannelBinding(a0, r2, moduleValue.isOptInEnabledForGuild(a0.guild_id))) {
|
|
return false;
|
|
}
|
|
if (PermissionStore.can(a0.accessPermissions, a0)) {
|
|
return r2 > 0 || UserGuildSettingsStore.resolveUnreadSetting(a0) === UnreadSetting.ALL_MESSAGES;
|
|
}
|
|
return false;
|
|
}
|
|
if (a0.isPrivate()) {
|
|
return r2 > 0 || UserGuildSettingsStore.resolveUnreadSetting(a0) === UnreadSetting.ALL_MESSAGES;
|
|
}
|
|
disableUnreadForOptInChannelBinding = disableUnreadForOptInChannel;
|
|
moduleValue = require(5102) /* metro dependency 5102: isOptInEnabled */;
|
|
if (disableUnreadForOptInChannelBinding(a0, r2, moduleValue.isOptInEnabledForGuild(a0.guild_id))) {
|
|
return false;
|
|
}
|
|
if (PermissionStore.can(a0.accessPermissions, a0)) {
|
|
return r2 > 0 || UserGuildSettingsStore.resolveUnreadSetting(a0) === UnreadSetting.ALL_MESSAGES;
|
|
}
|
|
return false;
|
|
}
|
|
if (a0.hasFlag(ChannelFlags.IS_GUILD_RESOURCE_CHANNEL)) {
|
|
return false;
|
|
}
|
|
if (r2 === 0) {
|
|
if (a0.isThread() ? JoinedThreadsStore.isMuted(a0.id) || UserGuildSettingsStore.isGuildOrCategoryOrChannelMuted(a0.guild_id,
|
|
|
|
|
|
a0.parent_id) : UserGuildSettingsStore.isGuildOrCategoryOrChannelMuted(a0.guild_id, a0.id)) {
|
|
return false;
|
|
}
|
|
if (a0.isPrivate()) {
|
|
return r2 > 0 || UserGuildSettingsStore.resolveUnreadSetting(a0) === UnreadSetting.ALL_MESSAGES;
|
|
}
|
|
disableUnreadForOptInChannelBinding = disableUnreadForOptInChannel;
|
|
moduleValue = require(5102) /* metro dependency 5102: isOptInEnabled */;
|
|
if (disableUnreadForOptInChannelBinding(a0, r2, moduleValue.isOptInEnabledForGuild(a0.guild_id))) {
|
|
return false;
|
|
}
|
|
if (PermissionStore.can(a0.accessPermissions, a0)) {
|
|
return r2 > 0 || UserGuildSettingsStore.resolveUnreadSetting(a0) === UnreadSetting.ALL_MESSAGES;
|
|
}
|
|
return false;
|
|
}
|
|
if (r3) {
|
|
if (a0.isThread() ? JoinedThreadsStore.isMuted(a0.id) || UserGuildSettingsStore.isGuildOrCategoryOrChannelMuted(a0.guild_id,
|
|
|
|
|
|
a0.parent_id) : UserGuildSettingsStore.isGuildOrCategoryOrChannelMuted(a0.guild_id, a0.id)) {
|
|
return false;
|
|
}
|
|
if (a0.isPrivate()) {
|
|
return r2 > 0 || UserGuildSettingsStore.resolveUnreadSetting(a0) === UnreadSetting.ALL_MESSAGES;
|
|
}
|
|
disableUnreadForOptInChannelBinding = disableUnreadForOptInChannel;
|
|
moduleValue = require(5102) /* metro dependency 5102: isOptInEnabled */;
|
|
if (disableUnreadForOptInChannelBinding(a0, r2, moduleValue.isOptInEnabledForGuild(a0.guild_id))) {
|
|
return false;
|
|
}
|
|
if (PermissionStore.can(a0.accessPermissions, a0)) {
|
|
return r2 > 0 || UserGuildSettingsStore.resolveUnreadSetting(a0) === UnreadSetting.ALL_MESSAGES;
|
|
}
|
|
return false;
|
|
}
|
|
if (a0.isPrivate()) {
|
|
return r2 > 0 || UserGuildSettingsStore.resolveUnreadSetting(a0) === UnreadSetting.ALL_MESSAGES;
|
|
}
|
|
disableUnreadForOptInChannelBinding = disableUnreadForOptInChannel;
|
|
moduleValue = require(5102) /* metro dependency 5102: isOptInEnabled */;
|
|
if (disableUnreadForOptInChannelBinding(a0, r2, moduleValue.isOptInEnabledForGuild(a0.guild_id))) {
|
|
return false;
|
|
}
|
|
if (PermissionStore.can(a0.accessPermissions, a0)) {
|
|
return r2 > 0 || UserGuildSettingsStore.resolveUnreadSetting(a0) === UnreadSetting.ALL_MESSAGES;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
function computeIsCountableGuildChannel(a0, a1, a2) { // fn#45999, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:2749, offset: 0x0119dc7a, size: 195 bytes, params: 4, frame: 19
|
|
var r3;
|
|
var r2;
|
|
var r1;
|
|
var canBasicChannel2;
|
|
var value5;
|
|
var value7;
|
|
const isGuildVocalChannelType2 = isGuildVocalChannelType(a0.type);
|
|
let r0 = isGuildVocalChannelType2 ? a1 !== 0 : !isGuildVocalChannelType2;
|
|
if (r0) {
|
|
canBasicChannel2 = PermissionStore.canBasicChannel(getBasicAccessPermissions(a0.type), a0);
|
|
if (canBasicChannel2) {
|
|
value5 = disableUnreadForOptInChannel(a0, a1, a2);
|
|
if (value5) {
|
|
r2 = !value5;
|
|
} else {
|
|
value7 = 'flags' in a0;
|
|
r3 = value7 ? !a0.hasFlag(ChannelFlags.IS_GUILD_RESOURCE_CHANNEL) : !value7;
|
|
r3 = r3 && (a1 > 0 || UserGuildSettingsStore.resolveUnreadSetting(a0) === UnreadSetting.ALL_MESSAGES);
|
|
r2 = r3;
|
|
}
|
|
r1 = r2;
|
|
} else {
|
|
r1 = !!canBasicChannel2;
|
|
}
|
|
r0 = r1;
|
|
}
|
|
return r0;
|
|
}
|
|
|
|
function isNonChannelUnread(a0, a1) { // fn#46001, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:3143, offset: 0x0119dd5d, size: 95 bytes, params: 3, frame: 15
|
|
const hasUnread2 = ReadStateStore.hasUnread(a0, a1);
|
|
const GUILD_EVENT = ReadStateTypes.GUILD_EVENT;
|
|
return a1 !== GUILD_EVENT ? hasUnread2 : !UserGuildSettingsStore.isMuted(a0) && (!UserGuildSettingsStore.isMuteScheduledEventsEnabled(a0) && hasUnread2);
|
|
}
|
|
|
|
function createNewStateFrom(a0, {mentionCounts, unreadByType}) { // fn#46002, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:3281, offset: 0x0119ddbc, size: 64 bytes, params: 3, frame: 13
|
|
const createGuildStateBinding = createGuildState;
|
|
const guildStateBinding = createGuildStateBinding(a0);
|
|
let object2 = {};
|
|
const value2 = copyDataProperties(object2, mentionCounts, createGuildStateBinding);
|
|
guildStateBinding.mentionCounts = object2;
|
|
object2 = {};
|
|
copyDataProperties(object2, unreadByType, value2);
|
|
guildStateBinding.unreadByType = object2;
|
|
return guildStateBinding;
|
|
}
|
|
|
|
function updateGuildUnread(a0) { // fn#46003, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:3421, offset: 0x0119ddfc, size: 54 bytes, params: 2, frame: 12
|
|
const Object = global.Object;
|
|
let value = Object.entries(a0.unreadByType);
|
|
a0.unread = value.some(function(a0) {
|
|
var r0;
|
|
var r1;
|
|
var r4;
|
|
var item3;
|
|
var value3;
|
|
var iterator = a0[Symbol.iterator]();
|
|
var iterator2 = iterator.next;
|
|
var item2 = Reflect.apply(iterator2, iterator, []);
|
|
var item = item2.value;
|
|
item2 = item2.done ? undefined : iterator;
|
|
var value = undefined;
|
|
var value2 = item2 === value;
|
|
var r2 = value2 ? value : item;
|
|
if (value2) {
|
|
r0 = item2;
|
|
r1 = value;
|
|
r4 = value2;
|
|
} else {
|
|
item3 = Reflect.apply(iterator2, item2, []);
|
|
item = item3.value;
|
|
item3 = item3.done ? undefined : item2;
|
|
value3 = item3 === value;
|
|
if (value3) {
|
|
r0 = item3;
|
|
r1 = value;
|
|
r4 = value3;
|
|
} else {
|
|
r0 = item3;
|
|
r1 = item;
|
|
r4 = value3;
|
|
}
|
|
}
|
|
if (!r4) {
|
|
r0.return();
|
|
}
|
|
value = (0, global.Number)(r2);
|
|
value = value !== ReadStateTypes.GUILD_EVENT;
|
|
return value && r1;
|
|
});
|
|
return a0;
|
|
}
|
|
|
|
function updateNotificationCenterMentions(a0, a1) { // fn#46005, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:3546, offset: 0x0119de97, size: 104 bytes, params: 3, frame: 18
|
|
var ncMentionCount;
|
|
var getGuildNotifCenterMentionCountBinding;
|
|
var guildNotifCenterMentionCountBinding;
|
|
var guildNotifCenterMentionCountBinding2;
|
|
var Math;
|
|
var max;
|
|
var value;
|
|
if (!NotificationCenterItemsStore.tabFocused) {
|
|
getGuildNotifCenterMentionCountBinding = getGuildNotifCenterMentionCount;
|
|
value = undefined;
|
|
guildNotifCenterMentionCountBinding = getGuildNotifCenterMentionCountBinding(a0);
|
|
guildNotifCenterMentionCountBinding2 = getGuildNotifCenterMentionCountBinding(a1);
|
|
Math = global.Math;
|
|
max = Math.max;
|
|
ncMentionCount = a1 == null ? value : a1.ncMentionCount;
|
|
value = 0;
|
|
a0.ncMentionCount = Reflect.apply(max, Math,
|
|
[(ncMentionCount ?? value) + (guildNotifCenterMentionCountBinding - guildNotifCenterMentionCountBinding2),
|
|
value]);
|
|
}
|
|
}
|
|
|
|
function getGuildNotifCenterMentionCount(a0) { // fn#46006, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:3779, offset: 0x0119deff, size: 141 bytes, params: 2, frame: 17
|
|
const env0_0 = a0;
|
|
const env0_1 = 0;
|
|
var value;
|
|
const currentUser = UserStore.getCurrentUser();
|
|
if (!(a0 == null || (currentUser == null ? undefined : ReadStateStore.getNotifCenterReadState(currentUser.id)) == null)) {
|
|
value = importDefault(21) /* metro dependency 21: SnowflakeUtils */;
|
|
value = value.keys(a0.mentionCounts);
|
|
value.forEach(_fun46007);
|
|
}
|
|
return env0_1;
|
|
}
|
|
|
|
function aggregateGuildState(a0, a1, a2) { // fn#46008, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:4129, offset: 0x0119dff7, size: 244 bytes, params: 4, frame: 19
|
|
var binding;
|
|
let value = a0;
|
|
const env0_0 = a1;
|
|
updateGuildUnread(a1);
|
|
a1.lowImportanceMentionCount = 0;
|
|
a1.highImportanceMentionCount = 0;
|
|
const defaultImport = importDefault(21) /* metro dependency 21: SnowflakeUtils */;
|
|
defaultImport.forEach(a1.mentionCounts, function({count, isMentionLowImportance}) {
|
|
if (isMentionLowImportance) {
|
|
require.lowImportanceMentionCount += count;
|
|
} else {
|
|
require.highImportanceMentionCount += count;
|
|
}
|
|
});
|
|
let unread = a1.unread;
|
|
let r0 = unread !== a2.unread || a1.lowImportanceMentionCount !== a2.lowImportanceMentionCount;
|
|
r0 = !r0 ? a1.highImportanceMentionCount !== a2.highImportanceMentionCount : r0;
|
|
if (r0) {
|
|
binding = env0_28;
|
|
binding[value ?? NULL_STRING_GUILD_ID] = a1;
|
|
if (value != null) {
|
|
unread = a1.unread;
|
|
binding = env0_29;
|
|
if (unread) {
|
|
binding.add(value);
|
|
} else {
|
|
binding.delete(value);
|
|
}
|
|
}
|
|
binding = env0_30;
|
|
env0_30 = typeof binding === 'bigint' ? binding + 1n : +binding + 1;
|
|
updateGuildUnreadSentinel(value ?? NULL_STRING_GUILD_ID);
|
|
updateNotificationCenterMentions(a1, a2);
|
|
value = true;
|
|
r0 = value;
|
|
}
|
|
return r0;
|
|
}
|
|
|
|
function recountChannels(a0, a1) { // fn#46010, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:4684, offset: 0x0119e129, size: 312 bytes, params: 3, frame: 20
|
|
const value2 = sanitizeGuildId(a0);
|
|
const orCreateGuildState = getOrCreateGuildState(value2);
|
|
const newStateFrom = createNewStateFrom(value2, orCreateGuildState);
|
|
const env0_2 = false;
|
|
a1.forEach(_fun46011);
|
|
let unreadByType = newStateFrom.unreadByType;
|
|
let CHANNEL = ReadStateTypes.CHANNEL;
|
|
unreadByType[CHANNEL] = env0_2;
|
|
unreadByType = newStateFrom.unreadByType;
|
|
CHANNEL = ReadStateTypes.CHANNEL;
|
|
const property = unreadByType[CHANNEL];
|
|
unreadByType = orCreateGuildState.unreadByType;
|
|
CHANNEL = ReadStateTypes.CHANNEL;
|
|
if (property === unreadByType[CHANNEL]) {
|
|
return aggregateGuildState(value2, newStateFrom, orCreateGuildState);
|
|
}
|
|
unreadByType = newStateFrom.unreadByType;
|
|
CHANNEL = ReadStateTypes.CHANNEL;
|
|
if (unreadByType[CHANNEL]) {
|
|
return aggregateGuildState(value2, newStateFrom, orCreateGuildState);
|
|
}
|
|
const channel = ChannelStore.getChannel(orCreateGuildState.unreadChannelId);
|
|
if (channel != null) {
|
|
if (a1.includes(channel.id)) {
|
|
return recountGuild(value2);
|
|
}
|
|
if (ReadStateStore.hasUnread(channel.id)) {
|
|
if (isCountableChannel(channel)) {
|
|
if (value2 != null) {
|
|
env0_29.add(value2);
|
|
}
|
|
newStateFrom.unreadByType[ReadStateTypes.CHANNEL] = true;
|
|
return aggregateGuildState(value2, newStateFrom, orCreateGuildState);
|
|
}
|
|
return recountGuild(value2);
|
|
}
|
|
}
|
|
return recountGuild(value2);
|
|
}
|
|
|
|
function updateNonChannel(a0, a1) { // fn#46012, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:5495, offset: 0x0119e366, size: 83 bytes, params: 3, frame: 19
|
|
var orCreateGuildState;
|
|
var newStateFrom;
|
|
if (a0 != null) {
|
|
orCreateGuildState = getOrCreateGuildState(a0);
|
|
newStateFrom = createNewStateFrom(a0, orCreateGuildState);
|
|
newStateFrom.unreadByType[ReadStateTypes.GUILD_EVENT] = isNonChannelUnread(a0, a1);
|
|
return aggregateGuildState(a0, newStateFrom, orCreateGuildState);
|
|
}
|
|
}
|
|
|
|
function recountGuild(a0, a1) { // fn#46013, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:5684, offset: 0x0119e3b9, size: 1179 bytes, params: 3, frame: 41
|
|
var r10;
|
|
var r26;
|
|
var r17;
|
|
var r12;
|
|
var r23;
|
|
var r2;
|
|
var r9;
|
|
var r14;
|
|
var r0;
|
|
var r6;
|
|
var r5;
|
|
var isMuted;
|
|
var isMuted2;
|
|
var getMutedChannels;
|
|
var value3;
|
|
var getChannelOverrides;
|
|
var value4;
|
|
var moduleValue;
|
|
var isOptInEnabledForGuild;
|
|
var isOptInEnabledForGuild2;
|
|
var getMutableBasicGuildChannelsForGuild;
|
|
var value5;
|
|
var properties;
|
|
var properties2;
|
|
var properties3;
|
|
var propertyName;
|
|
var propertyName2;
|
|
var property;
|
|
var has;
|
|
var value6;
|
|
var parent_id;
|
|
var value7;
|
|
var value8;
|
|
var unreadByType;
|
|
var CHANNEL;
|
|
var property2;
|
|
var getGuildChannelUnreadState;
|
|
var value9;
|
|
var mentionCount;
|
|
var unread;
|
|
var isMentionLowImportance;
|
|
var value10;
|
|
var value11;
|
|
var value12;
|
|
var highImportanceMentionCount;
|
|
var lowImportanceMentionCount;
|
|
var mentionCounts;
|
|
var id;
|
|
var getActiveJoinedThreadsForGuild;
|
|
var value13;
|
|
var properties4;
|
|
var properties5;
|
|
var propertyName3;
|
|
var properties6;
|
|
var properties7;
|
|
var properties8;
|
|
var propertyName4;
|
|
var property3;
|
|
var hasUnread;
|
|
var value14;
|
|
var isMuted3;
|
|
var getMentionCount;
|
|
var value15;
|
|
var getIsMentionLowImportance;
|
|
var value16;
|
|
var GUILD_EVENT;
|
|
var value17;
|
|
var isNonChannelUnreadBinding;
|
|
var isNonChannelUnread2;
|
|
var mutablePrivateChannels;
|
|
var properties9;
|
|
var properties10;
|
|
var propertyName5;
|
|
var value19;
|
|
var value20;
|
|
var isCountableChannel2;
|
|
var highImportanceMentionCount2;
|
|
var value23;
|
|
var lowImportanceMentionCount2;
|
|
var value24;
|
|
var binding;
|
|
var add;
|
|
var updateGuildUnreadSentinelBinding;
|
|
let value = environment;
|
|
const value2 = sanitizeGuildId(a0);
|
|
const guildState = createGuildState(value2);
|
|
if (value2 == null) {
|
|
mutablePrivateChannels = ChannelStore.getMutablePrivateChannels();
|
|
properties = Object.keys(mutablePrivateChannels);
|
|
properties9 = 0;
|
|
properties10 = properties.length;
|
|
if (properties !== undefined) {
|
|
r9 = properties9;
|
|
reducibleLoop49: while (true) {
|
|
propertyName = properties[r9];
|
|
propertyName5 = r9 + 1;
|
|
if (propertyName === undefined) {
|
|
break reducibleLoop49;
|
|
}
|
|
property = mutablePrivateChannels[propertyName];
|
|
getMentionCount = ReadStateStore.getMentionCount;
|
|
value19 = Reflect.apply(getMentionCount, ReadStateStore, [propertyName]);
|
|
value20 = value19 > 0;
|
|
reducibleJoin52: while (true) {
|
|
if (value20) {
|
|
isCountableChannel2 = isCountableChannel(property, value19);
|
|
r14 = isCountableChannel2;
|
|
break reducibleJoin52;
|
|
}
|
|
r14 = value20;
|
|
break reducibleJoin52;
|
|
}
|
|
if (r14) {
|
|
highImportanceMentionCount = guildState.highImportanceMentionCount;
|
|
guildState.highImportanceMentionCount = highImportanceMentionCount + value19;
|
|
mentionCounts = guildState.mentionCounts;
|
|
id = property.id;
|
|
mentionCounts[id] = {count: value19, isMentionLowImportance: false};
|
|
r9 = propertyName5;
|
|
continue reducibleLoop49;
|
|
}
|
|
r9 = propertyName5;
|
|
continue reducibleLoop49;
|
|
}
|
|
}
|
|
} else {
|
|
isMuted2 = UserGuildSettingsStore.isMuted(value2);
|
|
reducibleJoin54: while (true) {
|
|
reducibleJoin45: while (true) {
|
|
if (isMuted2) {
|
|
if (a1 === false) {
|
|
return false;
|
|
}
|
|
value3 = UserGuildSettingsStore.getMutedChannels(value2);
|
|
value4 = UserGuildSettingsStore.getChannelOverrides(value2);
|
|
moduleValue = require(5102) /* metro dependency 5102: isOptInEnabled */;
|
|
isOptInEnabledForGuild2 = moduleValue.isOptInEnabledForGuild(value2);
|
|
value5 = ChannelStore.getMutableBasicGuildChannelsForGuild(value2);
|
|
properties = Object.keys(value5);
|
|
properties2 = 0;
|
|
properties3 = properties.length;
|
|
if (properties !== undefined) {
|
|
r10 = properties2;
|
|
reducibleLoop4: while (true) {
|
|
propertyName = properties[r10];
|
|
propertyName2 = r10 + 1;
|
|
if (propertyName === undefined) {
|
|
break reducibleLoop4;
|
|
}
|
|
property = value5[propertyName];
|
|
reducibleJoin7: while (true) {
|
|
if (isMuted2) {
|
|
r26 = isMuted2;
|
|
break reducibleJoin7;
|
|
}
|
|
has = value3.has;
|
|
value6 = Reflect.apply(has, value3, [propertyName]);
|
|
r26 = value6;
|
|
break reducibleJoin7;
|
|
}
|
|
reducibleJoin11: while (true) {
|
|
if (r26) {
|
|
break reducibleJoin11;
|
|
}
|
|
parent_id = property.parent_id;
|
|
value7 = parent_id != null;
|
|
reducibleJoin10: while (true) {
|
|
if (value7) {
|
|
has = value3.has;
|
|
parent_id = property.parent_id;
|
|
value8 = Reflect.apply(has, value3, [parent_id]);
|
|
r17 = value8;
|
|
break reducibleJoin10;
|
|
}
|
|
r17 = value7;
|
|
break reducibleJoin10;
|
|
}
|
|
r26 = r17;
|
|
break reducibleJoin11;
|
|
}
|
|
unreadByType = guildState.unreadByType;
|
|
CHANNEL = ReadStateTypes.CHANNEL;
|
|
property2 = unreadByType[CHANNEL];
|
|
getGuildChannelUnreadState = ReadStateStore.getGuildChannelUnreadState;
|
|
value9 = Reflect.apply(getGuildChannelUnreadState, ReadStateStore, [property,
|
|
isOptInEnabledForGuild2,
|
|
value4,
|
|
r26,
|
|
property2]);
|
|
mentionCount = value9.mentionCount;
|
|
unread = value9.unread;
|
|
isMentionLowImportance = value9.isMentionLowImportance;
|
|
value10 = mentionCount > 0;
|
|
if (!value10) {
|
|
reducibleJoin13: while (true) {
|
|
if (r26) {
|
|
r10 = propertyName2;
|
|
continue reducibleLoop4;
|
|
}
|
|
break reducibleJoin13;
|
|
}
|
|
}
|
|
value11 = !property2;
|
|
reducibleJoin16: while (true) {
|
|
if (property2) {
|
|
r17 = value11;
|
|
break reducibleJoin16;
|
|
}
|
|
value12 = !r26;
|
|
r26 = r26 ? value10 : value12;
|
|
r17 = r26;
|
|
break reducibleJoin16;
|
|
}
|
|
if (r17) {
|
|
r17 = unread;
|
|
}
|
|
if (!r17) {
|
|
reducibleJoin19: while (true) {
|
|
if (value10) {
|
|
break reducibleJoin19;
|
|
}
|
|
r10 = propertyName2;
|
|
continue reducibleLoop4;
|
|
}
|
|
}
|
|
if (computeIsCountableGuildChannel(property, mentionCount, isOptInEnabledForGuild2)) {
|
|
reducibleJoin22: while (true) {
|
|
if (r17) {
|
|
unreadByType = guildState.unreadByType;
|
|
CHANNEL = ReadStateTypes.CHANNEL;
|
|
unreadByType[CHANNEL] = true;
|
|
guildState.unreadChannelId = propertyName;
|
|
break reducibleJoin22;
|
|
}
|
|
break reducibleJoin22;
|
|
}
|
|
if (value10) {
|
|
if (isMentionLowImportance) {
|
|
lowImportanceMentionCount = guildState.lowImportanceMentionCount;
|
|
guildState.lowImportanceMentionCount = lowImportanceMentionCount + mentionCount;
|
|
} else {
|
|
highImportanceMentionCount = guildState.highImportanceMentionCount;
|
|
guildState.highImportanceMentionCount = highImportanceMentionCount + mentionCount;
|
|
}
|
|
mentionCounts = guildState.mentionCounts;
|
|
id = property.id;
|
|
mentionCounts[id] = {count: mentionCount,
|
|
isMentionLowImportance: isMentionLowImportance};
|
|
r10 = propertyName2;
|
|
continue reducibleLoop4;
|
|
}
|
|
r10 = propertyName2;
|
|
continue reducibleLoop4;
|
|
}
|
|
r10 = propertyName2;
|
|
continue reducibleLoop4;
|
|
}
|
|
}
|
|
value13 = ActiveJoinedThreadsStore.getActiveJoinedThreadsForGuild(value2);
|
|
properties = Object.keys(value13);
|
|
properties4 = 0;
|
|
properties5 = properties.length;
|
|
if (properties !== undefined) {
|
|
r17 = properties4;
|
|
reducibleLoop28: while (true) {
|
|
propertyName = properties[r17];
|
|
propertyName3 = r17 + 1;
|
|
if (propertyName === undefined) {
|
|
break reducibleLoop28;
|
|
}
|
|
property = value13[propertyName];
|
|
properties6 = Object.keys(property);
|
|
properties7 = 0;
|
|
properties8 = properties6.length;
|
|
if (properties6 === undefined) {
|
|
r17 = propertyName3;
|
|
continue reducibleLoop28;
|
|
}
|
|
r12 = properties7;
|
|
reducibleLoop30: while (true) {
|
|
propertyName = properties6[r12];
|
|
propertyName4 = r12 + 1;
|
|
if (propertyName === undefined) {
|
|
r17 = propertyName3;
|
|
continue reducibleLoop28;
|
|
}
|
|
unreadByType = guildState.unreadByType;
|
|
CHANNEL = ReadStateTypes.CHANNEL;
|
|
property3 = unreadByType[CHANNEL];
|
|
reducibleJoin33: while (true) {
|
|
if (property3) {
|
|
r23 = property3;
|
|
break reducibleJoin33;
|
|
}
|
|
hasUnread = ReadStateStore.hasUnread;
|
|
value14 = !Reflect.apply(hasUnread, ReadStateStore, [propertyName]);
|
|
r23 = value14;
|
|
break reducibleJoin33;
|
|
}
|
|
reducibleJoin35: while (true) {
|
|
if (r23) {
|
|
break reducibleJoin35;
|
|
}
|
|
isMuted = JoinedThreadsStore.isMuted;
|
|
isMuted3 = Reflect.apply(isMuted, JoinedThreadsStore, [propertyName]);
|
|
r23 = isMuted3;
|
|
break reducibleJoin35;
|
|
}
|
|
if (!r23) {
|
|
r23 = isMuted2;
|
|
}
|
|
reducibleJoin38: while (true) {
|
|
if (r23) {
|
|
break reducibleJoin38;
|
|
}
|
|
unreadByType = guildState.unreadByType;
|
|
CHANNEL = ReadStateTypes.CHANNEL;
|
|
unreadByType[CHANNEL] = true;
|
|
guildState.unreadChannelId = propertyName;
|
|
break reducibleJoin38;
|
|
}
|
|
getMentionCount = ReadStateStore.getMentionCount;
|
|
value15 = Reflect.apply(getMentionCount, ReadStateStore, [propertyName]);
|
|
getIsMentionLowImportance = ReadStateStore.getIsMentionLowImportance;
|
|
value16 = Reflect.apply(getIsMentionLowImportance, ReadStateStore, [propertyName]);
|
|
if (value15 > 0) {
|
|
if (value16) {
|
|
lowImportanceMentionCount = guildState.lowImportanceMentionCount;
|
|
guildState.lowImportanceMentionCount = lowImportanceMentionCount + value15;
|
|
} else {
|
|
highImportanceMentionCount = guildState.highImportanceMentionCount;
|
|
guildState.highImportanceMentionCount = highImportanceMentionCount + value15;
|
|
}
|
|
mentionCounts = guildState.mentionCounts;
|
|
mentionCounts[propertyName] = {count: value15, isMentionLowImportance: value16};
|
|
r12 = propertyName4;
|
|
continue reducibleLoop30;
|
|
}
|
|
r12 = propertyName4;
|
|
continue reducibleLoop30;
|
|
}
|
|
continue reducibleLoop28;
|
|
}
|
|
}
|
|
unreadByType = guildState.unreadByType;
|
|
GUILD_EVENT = ReadStateTypes.GUILD_EVENT;
|
|
property = unreadByType[GUILD_EVENT];
|
|
if (property) {
|
|
r2 = !property;
|
|
break reducibleJoin45;
|
|
}
|
|
isNonChannelUnreadBinding = isNonChannelUnread;
|
|
GUILD_EVENT = ReadStateTypes.GUILD_EVENT;
|
|
r2 = isNonChannelUnreadBinding(value2, GUILD_EVENT);
|
|
break reducibleJoin45;
|
|
}
|
|
getMutedChannels = UserGuildSettingsStore.getMutedChannels;
|
|
value3 = Reflect.apply(getMutedChannels, UserGuildSettingsStore, [value2]);
|
|
getChannelOverrides = UserGuildSettingsStore.getChannelOverrides;
|
|
value4 = Reflect.apply(getChannelOverrides, UserGuildSettingsStore, [value2]);
|
|
moduleValue = require(5102) /* metro dependency 5102: isOptInEnabled */;
|
|
isOptInEnabledForGuild = moduleValue.isOptInEnabledForGuild;
|
|
isOptInEnabledForGuild2 = Reflect.apply(isOptInEnabledForGuild, moduleValue, [value2]);
|
|
getMutableBasicGuildChannelsForGuild = ChannelStore.getMutableBasicGuildChannelsForGuild;
|
|
value5 = Reflect.apply(getMutableBasicGuildChannelsForGuild, ChannelStore, [value2]);
|
|
properties = Object.keys(value5);
|
|
properties2 = 0;
|
|
properties3 = properties.length;
|
|
if (properties !== undefined) {
|
|
r10 = properties2;
|
|
reducibleLoop4: while (true) {
|
|
propertyName = properties[r10];
|
|
propertyName2 = r10 + 1;
|
|
if (propertyName === undefined) {
|
|
break reducibleLoop4;
|
|
}
|
|
property = value5[propertyName];
|
|
reducibleJoin7: while (true) {
|
|
if (isMuted2) {
|
|
r26 = isMuted2;
|
|
break reducibleJoin7;
|
|
}
|
|
has = value3.has;
|
|
value6 = Reflect.apply(has, value3, [propertyName]);
|
|
r26 = value6;
|
|
break reducibleJoin7;
|
|
}
|
|
reducibleJoin11: while (true) {
|
|
if (r26) {
|
|
break reducibleJoin11;
|
|
}
|
|
parent_id = property.parent_id;
|
|
value7 = parent_id != null;
|
|
reducibleJoin10: while (true) {
|
|
if (value7) {
|
|
has = value3.has;
|
|
parent_id = property.parent_id;
|
|
value8 = Reflect.apply(has, value3, [parent_id]);
|
|
r17 = value8;
|
|
break reducibleJoin10;
|
|
}
|
|
r17 = value7;
|
|
break reducibleJoin10;
|
|
}
|
|
r26 = r17;
|
|
break reducibleJoin11;
|
|
}
|
|
unreadByType = guildState.unreadByType;
|
|
CHANNEL = ReadStateTypes.CHANNEL;
|
|
property2 = unreadByType[CHANNEL];
|
|
getGuildChannelUnreadState = ReadStateStore.getGuildChannelUnreadState;
|
|
value9 = Reflect.apply(getGuildChannelUnreadState, ReadStateStore, [property,
|
|
isOptInEnabledForGuild2,
|
|
value4,
|
|
r26,
|
|
property2]);
|
|
mentionCount = value9.mentionCount;
|
|
unread = value9.unread;
|
|
isMentionLowImportance = value9.isMentionLowImportance;
|
|
value10 = mentionCount > 0;
|
|
if (!value10) {
|
|
reducibleJoin13: while (true) {
|
|
if (r26) {
|
|
r10 = propertyName2;
|
|
continue reducibleLoop4;
|
|
}
|
|
break reducibleJoin13;
|
|
}
|
|
}
|
|
value11 = !property2;
|
|
reducibleJoin16: while (true) {
|
|
if (property2) {
|
|
r17 = value11;
|
|
break reducibleJoin16;
|
|
}
|
|
value12 = !r26;
|
|
r26 = r26 ? value10 : value12;
|
|
r17 = r26;
|
|
break reducibleJoin16;
|
|
}
|
|
if (r17) {
|
|
r17 = unread;
|
|
}
|
|
if (!r17) {
|
|
reducibleJoin19: while (true) {
|
|
if (value10) {
|
|
break reducibleJoin19;
|
|
}
|
|
r10 = propertyName2;
|
|
continue reducibleLoop4;
|
|
}
|
|
}
|
|
if (computeIsCountableGuildChannel(property, mentionCount, isOptInEnabledForGuild2)) {
|
|
reducibleJoin22: while (true) {
|
|
if (r17) {
|
|
unreadByType = guildState.unreadByType;
|
|
CHANNEL = ReadStateTypes.CHANNEL;
|
|
unreadByType[CHANNEL] = true;
|
|
guildState.unreadChannelId = propertyName;
|
|
break reducibleJoin22;
|
|
}
|
|
break reducibleJoin22;
|
|
}
|
|
if (value10) {
|
|
if (isMentionLowImportance) {
|
|
lowImportanceMentionCount = guildState.lowImportanceMentionCount;
|
|
guildState.lowImportanceMentionCount = lowImportanceMentionCount + mentionCount;
|
|
} else {
|
|
highImportanceMentionCount = guildState.highImportanceMentionCount;
|
|
guildState.highImportanceMentionCount = highImportanceMentionCount + mentionCount;
|
|
}
|
|
mentionCounts = guildState.mentionCounts;
|
|
id = property.id;
|
|
mentionCounts[id] = {count: mentionCount,
|
|
isMentionLowImportance: isMentionLowImportance};
|
|
r10 = propertyName2;
|
|
continue reducibleLoop4;
|
|
}
|
|
r10 = propertyName2;
|
|
continue reducibleLoop4;
|
|
}
|
|
r10 = propertyName2;
|
|
continue reducibleLoop4;
|
|
}
|
|
}
|
|
getActiveJoinedThreadsForGuild = ActiveJoinedThreadsStore.getActiveJoinedThreadsForGuild;
|
|
value13 = Reflect.apply(getActiveJoinedThreadsForGuild, ActiveJoinedThreadsStore, [value2]);
|
|
properties = Object.keys(value13);
|
|
properties4 = 0;
|
|
properties5 = properties.length;
|
|
if (properties !== undefined) {
|
|
r17 = properties4;
|
|
reducibleLoop28: while (true) {
|
|
propertyName = properties[r17];
|
|
propertyName3 = r17 + 1;
|
|
if (propertyName === undefined) {
|
|
break reducibleLoop28;
|
|
}
|
|
property = value13[propertyName];
|
|
properties6 = Object.keys(property);
|
|
properties7 = 0;
|
|
properties8 = properties6.length;
|
|
if (properties6 === undefined) {
|
|
r17 = propertyName3;
|
|
continue reducibleLoop28;
|
|
}
|
|
r12 = properties7;
|
|
reducibleLoop30: while (true) {
|
|
propertyName = properties6[r12];
|
|
propertyName4 = r12 + 1;
|
|
if (propertyName === undefined) {
|
|
r17 = propertyName3;
|
|
continue reducibleLoop28;
|
|
}
|
|
unreadByType = guildState.unreadByType;
|
|
CHANNEL = ReadStateTypes.CHANNEL;
|
|
property3 = unreadByType[CHANNEL];
|
|
reducibleJoin33: while (true) {
|
|
if (property3) {
|
|
r23 = property3;
|
|
break reducibleJoin33;
|
|
}
|
|
hasUnread = ReadStateStore.hasUnread;
|
|
value14 = !Reflect.apply(hasUnread, ReadStateStore, [propertyName]);
|
|
r23 = value14;
|
|
break reducibleJoin33;
|
|
}
|
|
reducibleJoin35: while (true) {
|
|
if (r23) {
|
|
break reducibleJoin35;
|
|
}
|
|
isMuted = JoinedThreadsStore.isMuted;
|
|
isMuted3 = Reflect.apply(isMuted, JoinedThreadsStore, [propertyName]);
|
|
r23 = isMuted3;
|
|
break reducibleJoin35;
|
|
}
|
|
if (!r23) {
|
|
r23 = isMuted2;
|
|
}
|
|
reducibleJoin38: while (true) {
|
|
if (r23) {
|
|
break reducibleJoin38;
|
|
}
|
|
unreadByType = guildState.unreadByType;
|
|
CHANNEL = ReadStateTypes.CHANNEL;
|
|
unreadByType[CHANNEL] = true;
|
|
guildState.unreadChannelId = propertyName;
|
|
break reducibleJoin38;
|
|
}
|
|
getMentionCount = ReadStateStore.getMentionCount;
|
|
value15 = Reflect.apply(getMentionCount, ReadStateStore, [propertyName]);
|
|
getIsMentionLowImportance = ReadStateStore.getIsMentionLowImportance;
|
|
value16 = Reflect.apply(getIsMentionLowImportance, ReadStateStore, [propertyName]);
|
|
if (value15 > 0) {
|
|
if (value16) {
|
|
lowImportanceMentionCount = guildState.lowImportanceMentionCount;
|
|
guildState.lowImportanceMentionCount = lowImportanceMentionCount + value15;
|
|
} else {
|
|
highImportanceMentionCount = guildState.highImportanceMentionCount;
|
|
guildState.highImportanceMentionCount = highImportanceMentionCount + value15;
|
|
}
|
|
mentionCounts = guildState.mentionCounts;
|
|
mentionCounts[propertyName] = {count: value15, isMentionLowImportance: value16};
|
|
r12 = propertyName4;
|
|
continue reducibleLoop30;
|
|
}
|
|
r12 = propertyName4;
|
|
continue reducibleLoop30;
|
|
}
|
|
continue reducibleLoop28;
|
|
}
|
|
}
|
|
unreadByType = guildState.unreadByType;
|
|
GUILD_EVENT = ReadStateTypes.GUILD_EVENT;
|
|
property = unreadByType[GUILD_EVENT];
|
|
value17 = !property;
|
|
if (property) {
|
|
r2 = value17;
|
|
break reducibleJoin45;
|
|
}
|
|
isNonChannelUnreadBinding = isNonChannelUnread;
|
|
GUILD_EVENT = ReadStateTypes.GUILD_EVENT;
|
|
isNonChannelUnread2 = isNonChannelUnreadBinding(value2, GUILD_EVENT);
|
|
r2 = isNonChannelUnread2;
|
|
break reducibleJoin45;
|
|
}
|
|
if (r2) {
|
|
unreadByType = guildState.unreadByType;
|
|
GUILD_EVENT = ReadStateTypes.GUILD_EVENT;
|
|
unreadByType[GUILD_EVENT] = true;
|
|
break reducibleJoin54;
|
|
}
|
|
break reducibleJoin54;
|
|
}
|
|
}
|
|
updateGuildUnread(guildState);
|
|
const orCreateGuildState = getOrCreateGuildState(value2);
|
|
const value22 = guildState.unread !== orCreateGuildState.unread;
|
|
reducibleJoin56: while (true) {
|
|
if (value22) {
|
|
r0 = value22;
|
|
break reducibleJoin56;
|
|
}
|
|
highImportanceMentionCount = guildState.highImportanceMentionCount;
|
|
highImportanceMentionCount2 = orCreateGuildState.highImportanceMentionCount;
|
|
value23 = highImportanceMentionCount !== highImportanceMentionCount2;
|
|
r0 = value23;
|
|
break reducibleJoin56;
|
|
}
|
|
reducibleJoin58: while (true) {
|
|
if (r0) {
|
|
break reducibleJoin58;
|
|
}
|
|
lowImportanceMentionCount = guildState.lowImportanceMentionCount;
|
|
lowImportanceMentionCount2 = orCreateGuildState.lowImportanceMentionCount;
|
|
value24 = lowImportanceMentionCount !== lowImportanceMentionCount2;
|
|
r0 = value24;
|
|
break reducibleJoin58;
|
|
}
|
|
reducibleJoin68: while (true) {
|
|
if (r0) {
|
|
binding = env0_28;
|
|
reducibleJoin61: while (true) {
|
|
if (value2 != null) {
|
|
r6 = value2;
|
|
break reducibleJoin61;
|
|
}
|
|
r6 = NULL_STRING_GUILD_ID;
|
|
break reducibleJoin61;
|
|
}
|
|
binding[r6] = guildState;
|
|
reducibleJoin65: while (true) {
|
|
if (value2 == null) {
|
|
break reducibleJoin65;
|
|
}
|
|
unread = guildState.unread;
|
|
binding = env0_29;
|
|
if (unread) {
|
|
add = binding.add;
|
|
Reflect.apply(add, binding, [value2]);
|
|
break reducibleJoin65;
|
|
}
|
|
binding.delete(value2);
|
|
break reducibleJoin65;
|
|
}
|
|
binding = env0_30;
|
|
env0_30 = typeof binding === 'bigint' ? binding + 1n : +binding + 1;
|
|
updateGuildUnreadSentinelBinding = updateGuildUnreadSentinel;
|
|
reducibleJoin67: while (true) {
|
|
if (value2 != null) {
|
|
r5 = value2;
|
|
break reducibleJoin67;
|
|
}
|
|
r5 = NULL_STRING_GUILD_ID;
|
|
break reducibleJoin67;
|
|
}
|
|
updateGuildUnreadSentinelBinding(r5);
|
|
updateNotificationCenterMentions(guildState, orCreateGuildState);
|
|
value = true;
|
|
r0 = value;
|
|
break reducibleJoin68;
|
|
}
|
|
break reducibleJoin68;
|
|
}
|
|
return r0;
|
|
}
|
|
|
|
function handleConnectionOpen_46015({guilds, readState}) { // fn#46015, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:7624, offset: 0x0119e8ca, size: 230 bytes, params: 2, frame: 20
|
|
var r2;
|
|
var r1;
|
|
var value10;
|
|
var id;
|
|
var has;
|
|
var id2;
|
|
var value11;
|
|
var value12;
|
|
env0_28 = {};
|
|
let Set = global.Set;
|
|
let set = new Set();
|
|
const value4 = readState.entries.length < 500;
|
|
Set = global.Set;
|
|
set = new Set();
|
|
if (value4) {
|
|
readState.entries.forEach(_fun46016);
|
|
}
|
|
recountGuild(null);
|
|
const value8 = _createForOfIteratorHelperLoose_45991(guilds);
|
|
const value9 = value8();
|
|
let done = value9.done;
|
|
if (!done) {
|
|
r2 = value9;
|
|
while (true) {
|
|
value10 = r2.value;
|
|
recountGuildBinding = recountGuild;
|
|
id = value10.id;
|
|
if (value4) {
|
|
has = set.has;
|
|
id2 = value10.id;
|
|
value11 = Reflect.apply(has, set, [id2]);
|
|
r1 = value11;
|
|
} else {
|
|
r1 = undefined;
|
|
}
|
|
recountGuildBinding(id, r1);
|
|
value12 = value8();
|
|
done = value12.done;
|
|
if (done) {
|
|
break;
|
|
}
|
|
r2 = value12;
|
|
continue;
|
|
}
|
|
}
|
|
}
|
|
|
|
function handleGuildDelete_46019({guild}) { // fn#46019, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:8280, offset: 0x0119eadd, size: 80 bytes, params: 2, frame: 13
|
|
var r0;
|
|
let binding = env0_28;
|
|
let id = guild.id;
|
|
const value2 = binding[id] != null;
|
|
if (value2) {
|
|
binding = env0_28;
|
|
id = guild.id;
|
|
delete binding[id];
|
|
binding = env0_29;
|
|
id = guild.id;
|
|
binding.delete(id);
|
|
binding = env0_30;
|
|
env0_30 = typeof binding === 'bigint' ? binding + 1n : +binding + 1;
|
|
r0 = true;
|
|
} else {
|
|
r0 = value2;
|
|
}
|
|
return r0;
|
|
}
|
|
|
|
function handleWindowFocus_46021() { // fn#46021, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:8467, offset: 0x0119eb58, size: 77 bytes, params: 1, frame: 14
|
|
var r0;
|
|
var recountChannelsBinding;
|
|
var value;
|
|
const getChannel = ChannelStore.getChannel;
|
|
const getChannelId = SelectedChannelStore.getChannelId;
|
|
const value2 = Reflect.apply(getChannel, ChannelStore, [Reflect.apply(getChannelId, SelectedChannelStore, [])]);
|
|
const value3 = value2 != null;
|
|
if (value3) {
|
|
recountChannelsBinding = recountChannels;
|
|
value = value2.getGuildId();
|
|
value = recountChannelsBinding(value, [value2.id]);
|
|
r0 = value;
|
|
} else {
|
|
r0 = value3;
|
|
}
|
|
return r0;
|
|
}
|
|
|
|
function handleGuildMemberUpdate({user, guildId}) { // fn#46022, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:8588, offset: 0x0119eba5, size: 55 bytes, params: 2, frame: 13
|
|
const id = user.id;
|
|
const getId = AuthenticationStore.getId;
|
|
return id === Reflect.apply(getId, AuthenticationStore, []) && recountGuild(guildId);
|
|
}
|
|
|
|
function handleGenericUpdate({channelId}) { // fn#46023, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:8682, offset: 0x0119ebdc, size: 71 bytes, params: 2, frame: 14
|
|
var r0;
|
|
var recountChannelsBinding;
|
|
var value;
|
|
const channel = ChannelStore.getChannel(channelId);
|
|
const value3 = channel != null;
|
|
if (value3) {
|
|
recountChannelsBinding = recountChannels;
|
|
value = channel.getGuildId();
|
|
value = recountChannelsBinding(value, [channel.id]);
|
|
r0 = value;
|
|
} else {
|
|
r0 = value3;
|
|
}
|
|
return r0;
|
|
}
|
|
|
|
function handleMessageCreate_46024({channelId}) { // fn#46024, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:8803, offset: 0x0119ec23, size: 244 bytes, params: 2, frame: 18
|
|
const channel = ChannelStore.getChannel(channelId);
|
|
if (channel == null) {
|
|
return false;
|
|
}
|
|
if (channel.guild_id != null) {
|
|
var orCreateGuildState = getOrCreateGuildState(channel.guild_id);
|
|
if (channel.isThread() ? JoinedThreadsStore.hasJoined(channel.id) ? JoinedThreadsStore.isMuted(channel.id) : !JoinedThreadsStore.hasJoined(channel.id) : UserGuildSettingsStore.isGuildOrCategoryOrChannelMuted(channel.guild_id,
|
|
|
|
channel.id)) {
|
|
if (ReadStateStore.getMentionCount(channelId) === 0) {
|
|
return false;
|
|
}
|
|
return recountChannels(channel.getGuildId(), [channel.id]);
|
|
}
|
|
var unreadByType = orCreateGuildState.unreadByType;
|
|
var CHANNEL = ReadStateTypes.CHANNEL;
|
|
if (unreadByType[CHANNEL]) {
|
|
if (ReadStateStore.getMentionCount(channelId) === 0) {
|
|
return false;
|
|
}
|
|
return recountChannels(channel.getGuildId(), [channel.id]);
|
|
}
|
|
}
|
|
return recountChannels(channel.getGuildId(), [channel.id]);
|
|
}
|
|
|
|
function handleChannelSelect_46025({channelId, guildId}) { // fn#46025, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:9165, offset: 0x0119ed17, size: 61 bytes, params: 2, frame: 15
|
|
return guildId !== FAVORITES && (channelId != null && recountChannels(guildId, [channelId]));
|
|
}
|
|
|
|
function handleChannelUpdate_46026({channel}) { // fn#46026, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:9267, offset: 0x0119ed54, size: 48 bytes, params: 2, frame: 13
|
|
return recountChannels(channel.getGuildId(), [channel.id]);
|
|
}
|
|
|
|
function handleChannelUpdates_46027({channels}) { // fn#46027, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:9355, offset: 0x0119ed84, size: 78 bytes, params: 2, frame: 14
|
|
let value = (importDefault(22) /* metro dependency 22 */)(channels);
|
|
value = value.groupBy(function(a0) {
|
|
return a0.getGuildId();
|
|
});
|
|
return value.reduce(function(a0, a1, a2) {
|
|
return recountChannels(a2, a1.map(_fun46030)) || a0;
|
|
}, false);
|
|
}
|
|
|
|
function handleBulkAck({channels}) { // fn#46031, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:9510, offset: 0x0119ee12, size: 108 bytes, params: 2, frame: 14
|
|
let value = (importDefault(22) /* metro dependency 22 */)(channels);
|
|
value = value.map(function(a0) {
|
|
return a0.channelId;
|
|
});
|
|
value = value.filter(_fun46033);
|
|
value = value.groupBy(_fun46034);
|
|
return value.reduce(function(a0, a1, a2) {
|
|
return recountChannels(a2, a1) || a0;
|
|
}, false);
|
|
}
|
|
|
|
function handleThreadUpdate_46036({channel}) { // fn#46036, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:9752, offset: 0x0119eeef, size: 58 bytes, params: 2, frame: 14
|
|
return recountChannels(channel.getGuildId(), [channel.id, channel.parent_id]);
|
|
}
|
|
|
|
function handleThreadMembersUpdate_46041(a0) { // fn#46041, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:10225, offset: 0x0119ef97, size: 72 bytes, params: 2, frame: 15
|
|
return (require(3791) /* metro dependency 3791: ThreadActionUtils */).doesThreadMembersActionAffectMe(a0) && recountChannels(a0.guildId,
|
|
[a0.id]);
|
|
}
|
|
|
|
function handleThreadListSync_46042({threads, guildId}) { // fn#46042, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:10350, offset: 0x0119efdf, size: 63 bytes, params: 2, frame: 15
|
|
const recountChannelsBinding = recountChannels;
|
|
let value = threads.filter(function(a0) {
|
|
return JoinedThreadsStore.hasJoined(a0.id);
|
|
});
|
|
value = value.map(function(a0) {
|
|
return a0.id;
|
|
});
|
|
return recountChannelsBinding(guildId, value);
|
|
}
|
|
|
|
function handlePassiveUpdateV2_46045(a0) { // fn#46045, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:10477, offset: 0x0119f03a, size: 68 bytes, params: 2, frame: 15
|
|
var r0;
|
|
var recountChannelsBinding;
|
|
var guildId;
|
|
let value = a0.channels.length > 0;
|
|
if (value) {
|
|
recountChannelsBinding = recountChannels;
|
|
guildId = a0.guildId;
|
|
value = a0.channels.map(function(a0) {
|
|
return a0.id;
|
|
});
|
|
value = recountChannelsBinding(guildId, value);
|
|
r0 = value;
|
|
} else {
|
|
r0 = value;
|
|
}
|
|
return r0;
|
|
}
|
|
|
|
function handleUserGuildSettingsFullUpdate({userGuildSettings}) { // fn#46049, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:10722, offset: 0x0119f096, size: 118 bytes, params: 2, frame: 14
|
|
const Set = global.Set;
|
|
const set = new Set(userGuildSettings.map(function({guild_id}) {
|
|
return guild_id ?? NULL_STRING_GUILD_ID;
|
|
}));
|
|
return (importDefault(21) /* metro dependency 21: SnowflakeUtils */).keys(env0_28).reduce(_fun46051, false);
|
|
}
|
|
|
|
function handleClearNotifCenterGuildMentions() { // fn#46052, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:10930, offset: 0x0119f153, size: 49 bytes, params: 1, frame: 9
|
|
var propertyName;
|
|
for (propertyName in env0_28) {
|
|
env0_28[propertyName].ncMentionCount = 0;
|
|
}
|
|
}
|
|
|
|
function handleRecentMentionsSuccess({messages}) { // fn#46054, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:11091, offset: 0x0119f184, size: 73 bytes, params: 2, frame: 13
|
|
const Set = global.Set;
|
|
const value = messages.map(function(a0) {
|
|
return a0.channel_id;
|
|
});
|
|
const value2 = Object.create(Set.prototype, {constructor: {value: Set}});
|
|
const set = new Set(value);
|
|
(set instanceof Object ? set : value2).forEach(_fun46056);
|
|
}
|
|
|
|
function _fun46057(a0) { // fn#46057, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:11265, offset: 0x0119f209, size: 450 bytes, params: 2, frame: 16
|
|
const closure = GuildReadStateStore;
|
|
env0_7(closure, a0);
|
|
return env0_4(closure, [{key: 'initialize', value: function() {
|
|
this.waitFor(ChannelStore, SelectedChannelStore, ReadStateStore, PermissionStore, AuthenticationStore,
|
|
UserStore,
|
|
UserGuildSettingsStore, ActiveJoinedThreadsStore, JoinedThreadsStore, RecentMentionsStore);
|
|
}}, {key: 'loadCache', value: value_46061}, {key: 'takeSnapshot', value: value_46062}, {key: 'hasAnyUnread',
|
|
value: value_46063}, {key: 'getStoreChangeSentinel', value: value_46064}, {key: 'getMutableUnreadGuilds',
|
|
value: value_46065}, {key: 'getMutableGuildStates', value: value_46066}, {key: 'shouldCountChannelUnread',
|
|
value: value_46067}, {key: 'hasUnread', value: value_46068}, {key: 'getMentionCount', value: value_46069},
|
|
{key: 'getIsMentionLowImportance', value: function(a0) {
|
|
return getOrCreateGuildState(a0).highImportanceMentionCount === 0;
|
|
}}, {key: 'getGuildHasUnreadIgnoreMuted', value: value_46071}, {key: 'getTotalMentionCount', value: value_46072},
|
|
{key: 'getTotalNotificationsMentionCount', value: value_46073}, {key: 'getPrivateChannelMentionCount',
|
|
value: value_46074}, {key: 'getMentionCountForPrivateChannel', value: value_46075},
|
|
{key: 'getGuildChangeSentinel', value: function(a0) {
|
|
return getOrCreateGuildState(a0).sentinel;
|
|
}}]);
|
|
}
|
|
|
|
function _fun46007(a0) { // fn#46007, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:4020, offset: 0x0119df8c, size: 107 bytes, params: 2, frame: 16
|
|
let value = environment.__proto__;
|
|
const value2 = ReadStateStore.lastMessageId(a0);
|
|
const _ackMessageId = env0_2._ackMessageId;
|
|
value = importDefault(21) /* metro dependency 21: SnowflakeUtils */;
|
|
value = value.compare(value2, _ackMessageId);
|
|
if (value > 0) {
|
|
env0_1 = env0_1 + env0_0.mentionCounts[a0].count;
|
|
}
|
|
}
|
|
|
|
function _fun46011(a0) { // fn#46011, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:4811, offset: 0x0119e261, size: 261 bytes, params: 2, frame: 19
|
|
var r2;
|
|
var mentionCounts;
|
|
var mentionCount;
|
|
var id;
|
|
var object2;
|
|
const channel = ChannelStore.getChannel(a0);
|
|
if (channel != null) {
|
|
if (channel.getGuildId() === env0_0) {
|
|
mentionCount = ReadStateStore.getMentionCount(a0);
|
|
r2 = env0_0 !== null && !env0_2;
|
|
r2 = r2 && ReadStateStore.hasUnread(channel.id);
|
|
r2 = r2 && isCountableChannel(channel, mentionCount, true);
|
|
if (r2) {
|
|
env0_1.unreadChannelId = channel.id;
|
|
}
|
|
if (mentionCount > 0) {
|
|
if (isCountableChannel(channel, mentionCount)) {
|
|
mentionCounts = env0_1.mentionCounts;
|
|
id = channel.id;
|
|
object2 = {count: mentionCount};
|
|
object2.isMentionLowImportance = ReadStateStore.getIsMentionLowImportance(a0);
|
|
mentionCounts[id] = object2;
|
|
} else {
|
|
delete env0_1.mentionCounts[channel.id];
|
|
}
|
|
} else {
|
|
delete env0_1.mentionCounts[channel.id];
|
|
}
|
|
}
|
|
} else {
|
|
delete env0_1.mentionCounts[a0];
|
|
}
|
|
}
|
|
|
|
function _fun46016(a0) { // fn#46016, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:7756, offset: 0x0119e9b0, size: 147 bytes, params: 2, frame: 14
|
|
var read_state_type;
|
|
var binding;
|
|
var add;
|
|
let value = a0.mention_count != null;
|
|
if (value && a0.mention_count > 0) {
|
|
read_state_type = a0.read_state_type;
|
|
if (read_state_type == null) {
|
|
binding = env0_0;
|
|
add = binding.add;
|
|
value = environment.__proto__;
|
|
value = ChannelStore.getChannel(a0.id);
|
|
Reflect.apply(add, binding, [value?.guild_id]);
|
|
} else {
|
|
read_state_type = a0.read_state_type;
|
|
value = environment.__proto__;
|
|
if (read_state_type === ReadStateTypes.CHANNEL) {
|
|
binding = env0_0;
|
|
add = binding.add;
|
|
value = environment.__proto__;
|
|
value = ChannelStore.getChannel(a0.id);
|
|
Reflect.apply(add, binding, [value?.guild_id]);
|
|
} else {
|
|
binding = env0_0;
|
|
binding.add(a0.id);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
function _fun46029(a0, a1, a2) { // fn#46029, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:9457, offset: 0x0119ede1, size: 49 bytes, params: 4, frame: 14
|
|
return recountChannels(a2, a1.map(function(a0) {
|
|
return a0.id;
|
|
})) || a0;
|
|
}
|
|
|
|
function _fun46033(a0) { // fn#46033, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:9602, offset: 0x0119ee88, size: 28 bytes, params: 2, frame: 11
|
|
const value = environment.__proto__;
|
|
return ChannelStore.getChannel(a0) != null;
|
|
}
|
|
|
|
function _fun46034(a0) { // fn#46034, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:9638, offset: 0x0119eea4, size: 43 bytes, params: 2, frame: 11
|
|
var r0;
|
|
let value = environment.__proto__;
|
|
value = ChannelStore.getChannel(a0);
|
|
if (value == null) {
|
|
r0 = undefined;
|
|
} else {
|
|
value = value.getGuildId();
|
|
r0 = value;
|
|
}
|
|
return r0;
|
|
}
|
|
|
|
function _fun46051(a0, a1) { // fn#46051, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:10889, offset: 0x0119f123, size: 48 bytes, params: 3, frame: 13
|
|
const value = a0;
|
|
let r0 = env0_0.has(a1) && recountGuild(a1);
|
|
r0 = !r0 ? value : r0;
|
|
return r0;
|
|
}
|
|
|
|
function _fun46056(a0) { // fn#46056, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:11185, offset: 0x0119f1cd, size: 60 bytes, params: 2, frame: 13
|
|
const value = environment.__proto__;
|
|
const channel = ChannelStore.getChannel(a0);
|
|
if (channel != null) {
|
|
recountChannels(channel.getGuildId(), [a0]);
|
|
}
|
|
}
|
|
|
|
function GuildReadStateStore() { // fn#46058, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:11277, offset: 0x0119f3cb, size: 476 bytes, params: 1, frame: 20
|
|
var environment;
|
|
const value = environment.__proto__;
|
|
env1_3(this, GuildReadStateStore);
|
|
const handleGenericUpdateBinding = handleGenericUpdate;
|
|
const handleGuildUpdateBinding = handleGuildUpdate;
|
|
const handleThreadUpdate_46036Binding = handleThreadUpdate_46036;
|
|
const handleUserGuildSettingsUpdateBinding = handleUserGuildSettingsUpdate;
|
|
const handleGuildEventUpdateBinding = handleGuildEventUpdate;
|
|
const recomputeAllGuildsBinding = recomputeAllGuilds;
|
|
const items2 = [{CONNECTION_OPEN: handleConnectionOpen_46015, OVERLAY_INITIALIZE: handleOverlayInitialize_46014,
|
|
CACHE_LOADED_LAZY: CACHE_LOADED_LAZY_46059, GUILD_CREATE: handleGuildCreate_46018,
|
|
GUILD_DELETE: handleGuildDelete_46019, MESSAGE_CREATE: handleMessageCreate_46024,
|
|
MESSAGE_ACK: handleGenericUpdateBinding, BULK_ACK: handleBulkAck,
|
|
UPDATE_CHANNEL_DIMENSIONS: handleGenericUpdateBinding, CHANNEL_SELECT: handleChannelSelect_46025,
|
|
CHANNEL_DELETE: handleChannelDelete_46020, WINDOW_FOCUS: handleWindowFocus_46021,
|
|
GUILD_ACK: handleMarkGuildAsRead, GUILD_ROLE_CREATE: handleGuildUpdateBinding,
|
|
GUILD_ROLE_DELETE: handleGuildUpdateBinding, GUILD_ROLE_UPDATE: handleGuildUpdateBinding,
|
|
CHANNEL_CREATE: handleChannelUpdate_46026, CHANNEL_UPDATES: handleChannelUpdates_46027,
|
|
THREAD_CREATE: handleThreadUpdate_46036Binding, THREAD_UPDATE: handleThreadUpdate_46036Binding,
|
|
THREAD_DELETE: handleThreadUpdate_46036Binding, THREAD_LIST_SYNC: handleThreadListSync_46042,
|
|
THREAD_MEMBER_UPDATE: handleThreadMemberUpdate, THREAD_MEMBERS_UPDATE: handleThreadMembersUpdate_46041,
|
|
PASSIVE_UPDATE_V2: handlePassiveUpdateV2_46045, GUILD_MEMBER_UPDATE: handleGuildMemberUpdate,
|
|
USER_GUILD_SETTINGS_FULL_UPDATE: handleUserGuildSettingsFullUpdate,
|
|
USER_GUILD_SETTINGS_CHANNEL_UPDATE: handleUserGuildSettingsUpdateBinding,
|
|
USER_GUILD_SETTINGS_CHANNEL_UPDATE_BULK: handleUserGuildSettingsUpdateBinding,
|
|
USER_GUILD_SETTINGS_GUILD_UPDATE: handleUserGuildSettingsUpdateBinding,
|
|
USER_GUILD_SETTINGS_GUILD_AND_CHANNELS_UPDATE: handleUserGuildSettingsUpdateBinding,
|
|
GUILD_FEATURE_ACK: handleGuildFeatureAck, GUILD_SCHEDULED_EVENT_CREATE: handleGuildEventUpdateBinding,
|
|
GUILD_SCHEDULED_EVENT_UPDATE: handleGuildEventUpdateBinding,
|
|
GUILD_SCHEDULED_EVENT_DELETE: handleGuildEventDelete, CHANNEL_RTC_UPDATE_CHAT_OPEN: handleGenericUpdateBinding,
|
|
LOAD_MESSAGES_SUCCESS: handleGenericUpdateBinding, CHANNEL_ACK: handleGenericUpdateBinding,
|
|
CHANNEL_LOCAL_ACK: handleGenericUpdateBinding, NOTIFICATION_SETTINGS_UPDATE: recomputeAllGuildsBinding,
|
|
RECOMPUTE_READ_STATES: recomputeAllGuildsBinding, VOICE_CHANNEL_SELECT: handleGenericUpdateBinding,
|
|
ENABLE_AUTOMATIC_ACK: handleGenericUpdateBinding, RESORT_THREADS: handleGenericUpdateBinding,
|
|
NOTIFICATION_CENTER_CLEAR_GUILD_MENTIONS: handleClearNotifCenterGuildMentions,
|
|
TRY_ACK: handleGenericUpdateBinding, LOAD_RECENT_MENTIONS_SUCCESS: handleRecentMentionsSuccess}];
|
|
const value3 = env1_6(GuildReadStateStore);
|
|
return env1_5(this, _isNativeReflectConstruct_45988() ? global.Reflect.construct(value3, items2,
|
|
env1_6(this).constructor) : value3.apply(this, items2));
|
|
}
|
|
|
|
function value_46061() { // fn#46061, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:13669, offset: 0x0119f5e6, size: 88 bytes, params: 1, frame: 12
|
|
var guilds;
|
|
var value2;
|
|
var Set;
|
|
var unreadGuilds;
|
|
var set;
|
|
const readSnapshot = this.readSnapshot;
|
|
const LATEST_SNAPSHOT_VERSION = GuildReadStateStore.LATEST_SNAPSHOT_VERSION;
|
|
const value = Reflect.apply(readSnapshot, this, [LATEST_SNAPSHOT_VERSION]);
|
|
if (value != null) {
|
|
guilds = value.guilds;
|
|
value2 = environment.__proto__;
|
|
Set = global.Set;
|
|
unreadGuilds = value.unreadGuilds;
|
|
set = new Set();
|
|
}
|
|
}
|
|
|
|
function value_46062() { // fn#46062, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:13825, offset: 0x0119f63e, size: 67 bytes, params: 1, frame: 13
|
|
const object3 = {};
|
|
const LATEST_SNAPSHOT_VERSION = GuildReadStateStore.LATEST_SNAPSHOT_VERSION;
|
|
object3.version = LATEST_SNAPSHOT_VERSION;
|
|
const object4 = {};
|
|
object4.guilds = env1_28;
|
|
const Array = global.Array;
|
|
object4.unreadGuilds = Array.from(env1_29);
|
|
object3.data = object4;
|
|
return object3;
|
|
}
|
|
|
|
function value_46063() { // fn#46063, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:13967, offset: 0x0119f681, size: 20 bytes, params: 1, frame: 2
|
|
return env1_29.size > 0;
|
|
}
|
|
|
|
function value_46067(a0) { // fn#46067, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:14207, offset: 0x0119f695, size: 32 bytes, params: 2, frame: 15
|
|
let value = a1;
|
|
const r4 = value !== undefined ? value : 0;
|
|
value = environment.__proto__;
|
|
return isCountableChannel(a0, r4, true);
|
|
}
|
|
|
|
function value_46068(a0) { // fn#46068, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:14282, offset: 0x0119f6b5, size: 22 bytes, params: 2, frame: 11
|
|
return env1_29.has(a0);
|
|
}
|
|
|
|
function value_46069(a0) { // fn#46069, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:14341, offset: 0x0119f6cb, size: 35 bytes, params: 2, frame: 11
|
|
let value = environment.__proto__;
|
|
value = getOrCreateGuildState(a0);
|
|
return value.highImportanceMentionCount + value.lowImportanceMentionCount;
|
|
}
|
|
|
|
function value_46071(a0) { // fn#46071, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:14608, offset: 0x0119f70d, size: 271 bytes, params: 2, frame: 26
|
|
var r6;
|
|
var r10;
|
|
var r5;
|
|
var propertyName;
|
|
var propertyName2;
|
|
var property;
|
|
var isGuildVocal;
|
|
var getMentionCount;
|
|
var can;
|
|
var accessPermissions;
|
|
var hasUnreadOrMentions;
|
|
var propertyName3;
|
|
var getChannel;
|
|
var properties6;
|
|
var properties7;
|
|
var properties8;
|
|
var propertyName4;
|
|
const mutableGuildChannelsForGuild = ChannelStore.getMutableGuildChannelsForGuild(a0);
|
|
let properties = Object.keys(mutableGuildChannelsForGuild);
|
|
const properties2 = 0;
|
|
const properties3 = properties.length;
|
|
if (properties !== undefined) {
|
|
r6 = properties2;
|
|
reducibleLoop1: while (true) {
|
|
propertyName = properties[r6];
|
|
propertyName2 = r6 + 1;
|
|
if (propertyName === undefined) {
|
|
break reducibleLoop1;
|
|
}
|
|
property = mutableGuildChannelsForGuild[propertyName];
|
|
if (property == null) {
|
|
r6 = propertyName2;
|
|
continue reducibleLoop1;
|
|
}
|
|
isGuildVocal = property.isGuildVocal;
|
|
if (Reflect.apply(isGuildVocal, property, [])) {
|
|
getMentionCount = ReadStateStore.getMentionCount;
|
|
reducibleJoin5: while (true) {
|
|
if (Reflect.apply(getMentionCount, ReadStateStore, [propertyName]) === 0) {
|
|
r6 = propertyName2;
|
|
continue reducibleLoop1;
|
|
}
|
|
break reducibleJoin5;
|
|
}
|
|
}
|
|
can = PermissionStore.can;
|
|
accessPermissions = property.accessPermissions;
|
|
if (Reflect.apply(can, PermissionStore, [accessPermissions, property])) {
|
|
hasUnreadOrMentions = ReadStateStore.hasUnreadOrMentions;
|
|
if (Reflect.apply(hasUnreadOrMentions, ReadStateStore, [propertyName])) {
|
|
return true;
|
|
}
|
|
r6 = propertyName2;
|
|
continue reducibleLoop1;
|
|
}
|
|
r6 = propertyName2;
|
|
continue reducibleLoop1;
|
|
}
|
|
}
|
|
const activeJoinedThreadsForGuild = ActiveJoinedThreadsStore.getActiveJoinedThreadsForGuild(a0);
|
|
properties = Object.keys(activeJoinedThreadsForGuild);
|
|
const properties4 = 0;
|
|
const properties5 = properties.length;
|
|
if (properties !== undefined) {
|
|
r10 = properties4;
|
|
reducibleLoop9: while (true) {
|
|
propertyName = properties[r10];
|
|
propertyName3 = r10 + 1;
|
|
if (propertyName === undefined) {
|
|
return !!ReadStateStore.hasUnreadOrMentions(a0, ReadStateTypes.GUILD_EVENT);
|
|
}
|
|
getChannel = ChannelStore.getChannel;
|
|
if (Reflect.apply(getChannel, ChannelStore, [propertyName]) == null) {
|
|
r10 = propertyName3;
|
|
continue reducibleLoop9;
|
|
}
|
|
property = activeJoinedThreadsForGuild[propertyName];
|
|
properties6 = Object.keys(property);
|
|
properties7 = 0;
|
|
properties8 = properties6.length;
|
|
if (properties6 === undefined) {
|
|
r10 = propertyName3;
|
|
continue reducibleLoop9;
|
|
}
|
|
r5 = properties7;
|
|
reducibleLoop12: while (true) {
|
|
propertyName = properties6[r5];
|
|
propertyName4 = r5 + 1;
|
|
if (propertyName === undefined) {
|
|
r10 = propertyName3;
|
|
continue reducibleLoop9;
|
|
}
|
|
hasUnreadOrMentions = ReadStateStore.hasUnreadOrMentions;
|
|
if (Reflect.apply(hasUnreadOrMentions, ReadStateStore, [propertyName])) {
|
|
return true;
|
|
}
|
|
r5 = propertyName4;
|
|
continue reducibleLoop12;
|
|
}
|
|
continue reducibleLoop9;
|
|
}
|
|
}
|
|
hasUnreadOrMentions = ReadStateStore.hasUnreadOrMentions;
|
|
const GUILD_EVENT = ReadStateTypes.GUILD_EVENT;
|
|
return !!Reflect.apply(hasUnreadOrMentions, ReadStateStore, [a0, GUILD_EVENT]);
|
|
}
|
|
|
|
function value_46072(a0) { // fn#46072, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:15036, offset: 0x0119f81c, size: 88 bytes, params: 2, frame: 14
|
|
var r1;
|
|
var r6;
|
|
var r11;
|
|
var r0;
|
|
var propertyName;
|
|
var propertyName2;
|
|
var property;
|
|
var value4;
|
|
var highImportanceMentionCount;
|
|
var value5;
|
|
const binding = env1_28;
|
|
const value2 = a0 === true;
|
|
const value3 = 0;
|
|
const properties = Object.keys(binding);
|
|
const properties2 = 0;
|
|
const properties3 = properties.length;
|
|
if (properties === undefined) {
|
|
r0 = value3;
|
|
} else {
|
|
r1 = value3;
|
|
r6 = properties2;
|
|
while (true) {
|
|
propertyName = properties[r6];
|
|
propertyName2 = r6 + 1;
|
|
if (propertyName === undefined) {
|
|
r0 = r1;
|
|
break;
|
|
}
|
|
property = env1_28[propertyName];
|
|
if (!value2) {
|
|
r11 = value2;
|
|
continue;
|
|
}
|
|
value4 = propertyName === NULL_STRING_GUILD_ID;
|
|
r11 = value4;
|
|
if (r11) {
|
|
r6 = propertyName2;
|
|
continue;
|
|
}
|
|
highImportanceMentionCount = property.highImportanceMentionCount;
|
|
value5 = r1 + highImportanceMentionCount;
|
|
r1 = value5;
|
|
r6 = propertyName2;
|
|
}
|
|
}
|
|
return r0;
|
|
}
|
|
|
|
function value_46073(a0) { // fn#46073, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:15190, offset: 0x0119f874, size: 88 bytes, params: 2, frame: 14
|
|
var r1;
|
|
var r6;
|
|
var r11;
|
|
var r0;
|
|
var propertyName;
|
|
var propertyName2;
|
|
var property;
|
|
var value4;
|
|
var ncMentionCount;
|
|
var value5;
|
|
const binding = env1_28;
|
|
const value2 = a0 === true;
|
|
const value3 = 0;
|
|
const properties = Object.keys(binding);
|
|
const properties2 = 0;
|
|
const properties3 = properties.length;
|
|
if (properties === undefined) {
|
|
r0 = value3;
|
|
} else {
|
|
r1 = value3;
|
|
r6 = properties2;
|
|
while (true) {
|
|
propertyName = properties[r6];
|
|
propertyName2 = r6 + 1;
|
|
if (propertyName === undefined) {
|
|
r0 = r1;
|
|
break;
|
|
}
|
|
property = env1_28[propertyName];
|
|
if (!value2) {
|
|
r11 = value2;
|
|
continue;
|
|
}
|
|
value4 = propertyName === NULL_STRING_GUILD_ID;
|
|
r11 = value4;
|
|
if (r11) {
|
|
r6 = propertyName2;
|
|
continue;
|
|
}
|
|
ncMentionCount = property.ncMentionCount;
|
|
value5 = r1 + ncMentionCount;
|
|
r1 = value5;
|
|
r6 = propertyName2;
|
|
}
|
|
}
|
|
return r0;
|
|
}
|
|
|
|
function value_46074() { // fn#46074, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:15328, offset: 0x0119f8cc, size: 46 bytes, params: 1, frame: 4
|
|
const value = environment.__proto__;
|
|
return env1_28[NULL_STRING_GUILD_ID]?.highImportanceMentionCount ?? 0;
|
|
}
|
|
|
|
function value_46075(a0) { // fn#46075, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5392:15465, offset: 0x0119f8fa, size: 53 bytes, params: 2, frame: 4
|
|
const value = environment.__proto__;
|
|
const property = env1_28[NULL_STRING_GUILD_ID];
|
|
return (property == null ? undefined : property.mentionCounts[a0]) ?? 0;
|
|
}
|
|
|