Files
discord-decomp/sources/modules/notification_center/NotificationCenterItemsStore.tsx
T
2026-07-27 16:20:00 +03:00

756 lines
36 KiB
TypeScript

/* Metro module 4623; source: modules/notification_center/NotificationCenterItemsStore.tsx; dependencies: [6, 7, 15, 17, 18, 4107, 4117, 3794, 3793, 1878, 661, 4624, 4625, 4788, 21, 566, 694, 2] */
function _fun39705(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#39705, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4801:6, offset: 0x010e85e3, size: 785 bytes, params: 8, frame: 23
var object2;
const env0_0 = require;
const _validate = function(a0) {
return a0.id != null && a0.type != null;
};
const handleResetRemoteState = function() {
handleReset({keepLocalItems: true});
};
const closure = NOTIFICATION_CENTER_ITEM_CREATE_39713;
const isItem = function(a0, a1, a2) {
var r0;
var property;
var value = a0.type === a1;
if (value) {
property = a0.other_user;
value = undefined;
value = (property == null ? value : property.id) === a2;
r0 = value;
} else {
r0 = value;
}
return r0;
};
const closure2 = RELATIONSHIP_ADD_39719;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(6) /* metro dependency 6 */;
const env0_4 = importDefault(7) /* metro dependency 7 */;
const env0_5 = importDefault(15) /* metro dependency 15 */;
const env0_6 = importDefault(17) /* metro dependency 17 */;
const env0_7 = importDefault(18) /* metro dependency 18 */;
const experimentStore = importDefault(4107) /* metro dependency 4107: ExperimentStore */;
const env0_9 = (require(4117) /* metro dependency 4117: GuildScheduledEventStore */).isGuildEventEnded;
const messageRecord = importDefault(3794) /* metro dependency 3794: MessageRecord */;
const relationshipStore = importDefault(3793) /* metro dependency 3793: RelationshipStore */;
const userStore = importDefault(1878) /* metro dependency 1878: UserStore */;
const env0_13 = (require(661) /* metro dependency 661: Constants */).RelationshipTypes;
object2 = {'loading': false, 'initialized': false, 'errored': false, 'isDataStale': false};
object2.notifCenterItems = [];
object2.staleNotifCenterItems = [];
const Set = global.Set;
let set = new Set();
object2.notifCenterIds = set;
object2.notifCenterLocalItems = [];
object2.paginationHasMore = true;
object2.paginationCursor = undefined;
object2.notifCenterActive = false;
object2.notifCenterTabFocused = false;
const PersistedStore = (importDefault(566) /* metro dependency 566: flux */).PersistedStore;
set = _fun39724(PersistedStore);
set.displayName = 'NotificationCenterItemsStore';
set.persistKey = 'NotificationCenterItemsStore_v2';
set = new set(importDefault(694) /* metro dependency 694: Dispatcher */, {CONNECTION_OPEN: CONNECTION_OPEN_39739,
LOGOUT: function() {
handleReset();
}, NOTIFICATION_CENTER_ITEMS_ACK: function({ids}) {
updateItemsAck(ids, true);
}, NOTIFICATION_CENTER_ITEMS_ACK_FAILURE: function({ids}) {
updateItemsAck(ids, false);
}, GUILD_SCHEDULED_EVENT_UPDATE: function({guildScheduledEvent}) {
updateGuildEvent(guildScheduledEvent);
}, NOTIFICATION_CENTER_ITEM_CREATE: closure, NOTIFICATION_CENTER_ITEM_DELETE: NOTIFICATION_CENTER_ITEM_DELETE,
NOTIFICATION_CENTER_ITEM_DELETE_FAILURE: closure,
LOAD_NOTIFICATION_CENTER_ITEMS: LOAD_NOTIFICATION_CENTER_ITEMS,
LOAD_NOTIFICATION_CENTER_ITEMS_FAILURE: LOAD_NOTIFICATION_CENTER_ITEMS_FAILURE,
LOAD_NOTIFICATION_CENTER_ITEMS_SUCCESS: LOAD_NOTIFICATION_CENTER_ITEMS_SUCCESS_39752,
RESET_NOTIFICATION_CENTER: function() {
handleResetRemoteState();
}, NOTIFICATION_CENTER_SET_ACTIVE: NOTIFICATION_CENTER_SET_ACTIVE,
NOTIFICATION_CENTER_TAB_FOCUSED: NOTIFICATION_CENTER_TAB_FOCUSED, RELATIONSHIP_ADD: closure2,
RELATIONSHIP_UPDATE: closure2, RELATIONSHIP_REMOVE: RELATIONSHIP_REMOVE_39759,
GAME_RELATIONSHIP_ADD: GAME_RELATIONSHIP_ADD, GAME_RELATIONSHIP_REMOVE: GAME_RELATIONSHIP_REMOVE,
NOTIFICATION_CENTER_ITEM_COMPLETED: NOTIFICATION_CENTER_ITEM_COMPLETED, SET_RECENT_MENTIONS_FILTER: function() {
handleResetRemoteState();
}, MOBILE_NATIVE_UPDATE_CHECK_FINISHED: MOBILE_NATIVE_UPDATE_CHECK_FINISHED,
APPLICATIONS_FETCH_SUCCESS: APPLICATIONS_FETCH_SUCCESS_39771});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/notification_center/NotificationCenterItemsStore.tsx');
exports.default = set;
}
function _isNativeReflectConstruct_39706() { // fn#39706, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4801:246, offset: 0x010e88f4, 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_39706_isNativeReflectConstruct = function() {
return !!result;
})();
}
function handleReset() { // fn#39710, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4801:737, offset: 0x010e896e, size: 148 bytes, params: 1, frame: 13
const value = a0;
let keepLocalItems = (value !== undefined ? value : {}).keepLocalItems;
keepLocalItems = !(keepLocalItems === undefined) && keepLocalItems;
const object2 = {'loading': false, 'initialized': false, 'errored': false, 'isDataStale': false};
object2.notifCenterItems = [];
object2.staleNotifCenterItems = [];
const Set = global.Set;
object2.notifCenterIds = new Set();
object2.notifCenterLocalItems = keepLocalItems ? env0_14.notifCenterLocalItems : [];
object2.paginationHasMore = true;
object2.paginationCursor = undefined;
object2.notifCenterActive = false;
object2.notifCenterTabFocused = false;
}
function toNotificationCenterItem(a0) { // fn#39712, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4801:1117, offset: 0x010e8a1b, size: 229 bytes, params: 2, frame: 17
var r5;
const item_enum = a0.item_enum;
var value;
const value2 = undefined;
const ItemEnum = (require(4624) /* metro dependency 4624: NotificationCenterItemsTypes */).ItemEnum;
const FIRST_MESSAGE = ItemEnum.FIRST_MESSAGE;
if (item_enum === FIRST_MESSAGE && a0.type === (require(4624) /* metro dependency 4624: NotificationCenterItemsTypes */).NotificationCenterItems.LIFECYCLE_ITEM) {
a0.deeplink = 'https://discord.com/feature/composeMessage';
}
const object2 = {};
copyDataProperties(object2, a0, 11);
object2['kind'] = 'notification-center-item';
if (a0.message != null) {
value = require(4625) /* metro dependency 4625: MessageRecordUtils */;
value = value.createMessageRecord(a0.message);
r5 = value;
} else {
r5 = value2;
}
object2['message'] = r5;
object2['applicationId'] = a0.application != null ? a0.application.id : value2;
return object2;
}
function NOTIFICATION_CENTER_ITEM_CREATE_39713(a0) { // fn#39713, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4801:1492, offset: 0x010e8b00, size: 200 bytes, params: 2, frame: 16
var notifCenterIds;
var has;
var id;
var add;
var binding;
var items2;
var notifCenterItems;
const r4 = a0.type === 'NOTIFICATION_CENTER_ITEM_CREATE' ? toNotificationCenterItem(a0.item) : a0.item;
if (env0_14.initialized) {
if (_validate(r4)) {
notifCenterIds = env0_14.notifCenterIds;
has = notifCenterIds.has;
id = r4.id;
if (Reflect.apply(has, notifCenterIds, [id])) {
return false;
}
notifCenterIds = env0_14.notifCenterIds;
add = notifCenterIds.add;
id = r4.id;
Reflect.apply(add, notifCenterIds, [id]);
binding = env0_14;
items2 = [r4];
notifCenterItems = env0_14.notifCenterItems;
arraySpread(items2, notifCenterItems, 1, notifCenterIds);
binding.notifCenterItems = items2;
notifCenterItems = env0_14.notifCenterItems;
notifCenterItems.sort(_fun39714);
return undefined;
}
}
return false;
}
function updateItemsAck(a0, a1) { // fn#39715, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4801:1811, offset: 0x010e8bff, size: 68 bytes, params: 3, frame: 13
const env0_0 = a0;
const env0_1 = a1;
const binding = env0_14;
const value2 = binding.notifCenterItems.map(_fun39716);
binding.notifCenterItems = value2.filter(_validate);
}
function isGameRelationshipItem(a0, a1, a2, a3) { // fn#39718, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4801:2029, offset: 0x010e8cb1, size: 42 bytes, params: 5, frame: 15
return isItem(a0, a1, a2) && a0.applicationId === a3;
}
function RELATIONSHIP_ADD_39719({relationship}) { // fn#39719, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4801:2112, offset: 0x010e8cdb, size: 325 bytes, params: 2, frame: 25
var r2;
var value2;
var binding;
var notifCenterLocalItems;
var items2;
var value3;
var moduleValue;
const id = relationship.id;
const type = relationship.type;
const isSpamRequest = relationship.isSpamRequest;
const userIgnored = relationship.userIgnored;
const user = relationship.user;
const since = relationship.since;
const originApplicationId = relationship.originApplicationId;
const PENDING_INCOMING = RelationshipTypes.PENDING_INCOMING;
if (type !== PENDING_INCOMING) {
r2 = type !== RelationshipTypes.FRIEND || relationship.user == null;
r2 = !r2 ? userIgnored : r2;
if (!r2) {
binding = env0_14;
binding.notifCenterLocalItems = binding.notifCenterLocalItems.map(_fun39720);
}
r2 = type === RelationshipTypes.BLOCKED || userIgnored;
if (r2) {
binding = env0_14;
binding.notifCenterLocalItems = binding.notifCenterLocalItems.filter(_fun39721);
}
} else {
if (isSpamRequest) {
r2 = type !== RelationshipTypes.FRIEND || relationship.user == null;
r2 = !r2 ? userIgnored : r2;
if (!r2) {
binding = env0_14;
binding.notifCenterLocalItems = binding.notifCenterLocalItems.map(_fun39720);
}
r2 = type === RelationshipTypes.BLOCKED || userIgnored;
if (r2) {
binding = env0_14;
binding.notifCenterLocalItems = binding.notifCenterLocalItems.filter(_fun39721);
}
return undefined;
}
if (userIgnored) {
r2 = type !== RelationshipTypes.FRIEND || relationship.user == null;
r2 = !r2 ? userIgnored : r2;
if (!r2) {
binding = env0_14;
binding.notifCenterLocalItems = binding.notifCenterLocalItems.map(_fun39720);
}
r2 = type === RelationshipTypes.BLOCKED || userIgnored;
if (r2) {
binding = env0_14;
binding.notifCenterLocalItems = binding.notifCenterLocalItems.filter(_fun39721);
}
return undefined;
}
if (since == null) {
return null;
}
if (user != null) {
value2 = UserStore.getUser(user.id);
if (value2 != null) {
binding = env0_14;
notifCenterLocalItems = binding.notifCenterLocalItems;
items2 = [];
value3 = arraySpread(items2, notifCenterLocalItems, 0, undefined);
moduleValue = require(4788) /* metro dependency 4788: NotificationCenterUtils */;
items2[value3] = moduleValue.incomingFriendRequestLocalItem(value2, since, originApplicationId);
value3 + 1;
binding.notifCenterLocalItems = items2;
}
}
r2 = type !== RelationshipTypes.FRIEND || relationship.user == null;
r2 = !r2 ? userIgnored : r2;
if (!r2) {
binding = env0_14;
binding.notifCenterLocalItems = binding.notifCenterLocalItems.map(_fun39720);
}
r2 = type === RelationshipTypes.BLOCKED || userIgnored;
if (r2) {
binding = env0_14;
binding.notifCenterLocalItems = binding.notifCenterLocalItems.filter(_fun39721);
}
}
}
function updateGuildEvent(a0) { // fn#39722, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4801:3233, offset: 0x010e8fbb, size: 59 bytes, params: 2, frame: 13
var binding;
const env0_0 = a0;
if (isGuildEventEnded(a0)) {
binding = env0_14;
binding.notifCenterItems = binding.notifCenterItems.map(_fun39723);
}
}
function _fun39724(a0) { // fn#39724, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4801:3458, offset: 0x010e9061, size: 298 bytes, params: 2, frame: 16
const closure = NotificationCenterItemsStore;
env0_7(closure, a0);
return env0_4(closure, [{key: 'initialize', value: value_39726}, {key: 'getState', value: value_39728},
{key: 'loading', get: get_39730}, {key: 'initialized', get: get_39731}, {key: 'items', get: get_39732},
{key: 'hasMore', get: get_39733}, {key: 'cursor', get: get_39734}, {key: 'errored', get: get_39735},
{key: 'active', get: get_39736}, {key: 'localItems', get: get_39737}, {key: 'tabFocused', get: get_39738}]);
}
function CONNECTION_OPEN_39739({relationships, gameRelationships, guilds}) { // fn#39739, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4801:4996, offset: 0x010e93f7, size: 125 bytes, params: 2, frame: 14
const Set = global.Set;
const set = new Set();
relationships.forEach(_fun39740);
gameRelationships.forEach(_fun39741);
guilds.forEach(function({guild_scheduled_events}) {
guild_scheduled_events.forEach(_fun39743);
});
env0_14.notifCenterLocalItems = [];
}
function NOTIFICATION_CENTER_ITEM_DELETE({id}) { // fn#39748, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4801:6043, offset: 0x010e9632, size: 99 bytes, params: 2, frame: 13
var binding;
const notifCenterIds = env0_14.notifCenterIds;
if (notifCenterIds.has(id)) {
env0_14.notifCenterIds.delete(id);
binding = env0_14;
binding.notifCenterItems = binding.notifCenterItems.filter(function({id}) {
return id !== id;
});
return undefined;
}
return false;
}
function LOAD_NOTIFICATION_CENTER_ITEMS() { // fn#39750, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4801:6283, offset: 0x010e9695, size: 19 bytes, params: 1, frame: 2
env0_14.loading = true;
}
function LOAD_NOTIFICATION_CENTER_ITEMS_FAILURE() { // fn#39751, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4801:6358, offset: 0x010e96a8, size: 41 bytes, params: 1, frame: 3
env0_14.loading = false;
env0_14.initialized = true;
env0_14.errored = true;
}
function LOAD_NOTIFICATION_CENTER_ITEMS_SUCCESS_39752({items, hasMore, cursor}) { // fn#39752, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4801:6470, offset: 0x010e96d1, size: 281 bytes, params: 2, frame: 19
var r3;
var binding;
var length;
var notifCenterItems;
var items2;
var value6;
var value7;
if (env0_14.loading) {
env0_14.loading = false;
env0_14.initialized = true;
env0_14.errored = false;
env0_14.isDataStale = false;
r3 = cursor != null && env0_14.notifCenterIds.has(cursor);
if (!r3) {
binding = env0_14;
length = items.length;
r3 = length > 0 && hasMore;
binding.paginationHasMore = r3;
binding = env0_14;
length = items.length;
r3 = length > 0 ? cursor : undefined;
binding.paginationCursor = r3;
}
binding = env0_14;
notifCenterItems = binding.notifCenterItems;
items2 = [];
value6 = arraySpread(items2, notifCenterItems, 0, undefined);
value7 = items.map(toNotificationCenterItem);
arraySpread(items2, value7.filter(_fun39753), value6, value7);
binding.notifCenterItems = items2;
notifCenterItems = env0_14.notifCenterItems;
notifCenterItems.sort(_fun39754);
items.forEach(_fun39755);
}
}
function NOTIFICATION_CENTER_SET_ACTIVE({active}) { // fn#39757, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4801:7020, offset: 0x010e983e, size: 26 bytes, params: 2, frame: 2
env0_14.notifCenterActive = active;
}
function NOTIFICATION_CENTER_TAB_FOCUSED({focused}) { // fn#39758, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4801:7112, offset: 0x010e9858, size: 26 bytes, params: 2, frame: 2
env0_14.notifCenterTabFocused = focused;
}
function RELATIONSHIP_REMOVE_39759(a0) { // fn#39759, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4801:7295, offset: 0x010e9872, size: 47 bytes, params: 2, frame: 12
const env0_0 = a0;
const binding = env0_14;
binding.notifCenterLocalItems = binding.notifCenterLocalItems.filter(_fun39760);
}
function GAME_RELATIONSHIP_ADD({gameRelationship}) { // fn#39761, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4801:7610, offset: 0x010e9928, size: 244 bytes, params: 2, frame: 19
var binding;
var notifCenterLocalItems;
var user;
var items2;
var value5;
const id = gameRelationship.id;
const type = gameRelationship.type;
const since = gameRelationship.since;
const applicationId = gameRelationship.applicationId;
var value;
if (RelationshipStore.isBlockedOrIgnored(id)) {
return false;
}
const PENDING_INCOMING = RelationshipTypes.PENDING_INCOMING;
if (type === PENDING_INCOMING) {
user = UserStore.getUser(id);
if (since != null && user != null) {
binding = env0_14;
notifCenterLocalItems = binding.notifCenterLocalItems;
items2 = [];
value5 = arraySpread(items2, notifCenterLocalItems, 0, undefined);
value = require(4788) /* metro dependency 4788: NotificationCenterUtils */;
items2[value5] = value.incomingGameFriendRequestLocalItem(user, since, applicationId);
value5 + 1;
binding.notifCenterLocalItems = items2;
}
} else {
var FRIEND = RelationshipTypes.FRIEND;
if (type !== FRIEND) {
return false;
}
binding = env0_14;
binding.notifCenterLocalItems = binding.notifCenterLocalItems.map(_fun39762);
}
}
function GAME_RELATIONSHIP_REMOVE({userId, applicationId}) { // fn#39763, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4801:8321, offset: 0x010e9ae2, size: 61 bytes, params: 2, frame: 12
const binding = env0_14;
binding.notifCenterLocalItems = binding.notifCenterLocalItems.filter(_fun39764);
}
function NOTIFICATION_CENTER_ITEM_COMPLETED({item_enum}) { // fn#39765, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4801:8692, offset: 0x010e9b9c, size: 67 bytes, params: 2, frame: 13
const binding = env0_14;
const value2 = binding.notifCenterItems.map(function(a0) {
var r0;
var object;
var value = a0;
var item_enum2 = value.item_enum;
if (item_enum2 !== item_enum) {
r0 = value;
} else {
object = {};
copyDataProperties(object, value, item_enum2);
object['completed'] = true;
object['acked'] = true;
r0 = object;
}
return r0;
});
binding.notifCenterItems = value2.filter(_validate);
}
function MOBILE_NATIVE_UPDATE_CHECK_FINISHED({newBuild}) { // fn#39768, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4801:8938, offset: 0x010e9c1b, size: 152 bytes, params: 2, frame: 17
var value;
var value2;
var notifCenterLocalItems;
var binding;
var items2;
if (newBuild !== null) {
value2 = (require(4788) /* metro dependency 4788: NotificationCenterUtils */).mobileNativeUpdateAvailableLocalItem(newBuild);
notifCenterLocalItems = env0_14.notifCenterLocalItems;
if (notifCenterLocalItems.find(_fun39769) === undefined) {
binding = env0_14;
value = binding.notifCenterLocalItems.filter(_fun39770);
items2 = [];
value = arraySpread(items2, value, 0, notifCenterLocalItems);
items2[value] = value2;
value + 1;
binding.notifCenterLocalItems = items2;
}
}
}
function APPLICATIONS_FETCH_SUCCESS_39771({unknownApplicationIds}) { // fn#39771, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4801:9238, offset: 0x010e9ce9, size: 94 bytes, params: 2, frame: 13
var set;
var binding;
if (unknownApplicationIds != null) {
set = new global.Set(unknownApplicationIds);
binding = env0_14;
binding.notifCenterLocalItems = binding.notifCenterLocalItems.filter(_fun39772);
}
}
function _fun39714({id}, {id}) { // fn#39714, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4801:1774, offset: 0x010e8bc8, size: 55 bytes, params: 3, frame: 13
const value = environment.__proto__;
return (importDefault(21) /* metro dependency 21: SnowflakeUtils */).compare(id, id);
}
function _fun39716(a0) { // fn#39716, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4801:1883, offset: 0x010e8c43, size: 61 bytes, params: 2, frame: 14
var r0;
var object2;
const value = a0;
const binding = env0_0;
if (binding.includes(value.id)) {
object2 = {};
copyDataProperties(object2, value, binding);
object2['acked'] = require;
r0 = object2;
} else {
r0 = value;
}
return r0;
}
function _fun39720(a0) { // fn#39720, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4801:2555, offset: 0x010e8e20, size: 207 bytes, params: 2, frame: 20
var r0;
var object2;
let value = a0;
const isItemBinding = isItem;
const NotificationCenterLocalItems = (require(4624) /* metro dependency 4624: NotificationCenterItemsTypes */).NotificationCenterLocalItems;
const INCOMING_FRIEND_REQUESTS = NotificationCenterLocalItems.INCOMING_FRIEND_REQUESTS;
const user2 = relationship.user;
if (isItemBinding(value, INCOMING_FRIEND_REQUESTS, user2.id)) {
object2 = {};
copyDataProperties(object2, value, undefined);
object2['acked'] = true;
object2['forceUnacked'] = false;
value = 'incoming_friend_requests_accepted_' + user.id + '_' + value.id;
object2['local_id'] = value;
object2['type'] = NotificationCenterLocalItems.INCOMING_FRIEND_REQUESTS_ACCEPTED;
r0 = object2;
} else {
r0 = value;
}
return r0;
}
function _fun39721(a0) { // fn#39721, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4801:2893, offset: 0x010e8eef, size: 204 bytes, params: 2, frame: 19
const value = environment.__proto__;
const isItemBinding = isItem;
const NotificationCenterLocalItems = (require(4624) /* metro dependency 4624: NotificationCenterItemsTypes */).NotificationCenterLocalItems;
const INCOMING_FRIEND_REQUESTS = NotificationCenterLocalItems.INCOMING_FRIEND_REQUESTS;
let r0 = isItemBinding(a0, INCOMING_FRIEND_REQUESTS, id) || isItem(a0,
NotificationCenterLocalItems.INCOMING_FRIEND_REQUESTS_ACCEPTED, id);
r0 = !r0 ? isItem(a0, NotificationCenterLocalItems.INCOMING_GAME_FRIEND_REQUESTS, id) : r0;
r0 = !r0 ? isItem(a0, NotificationCenterLocalItems.INCOMING_GAME_FRIEND_REQUESTS_ACCEPTED, id) : r0;
return !r0;
}
function _fun39723(a0) { // fn#39723, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4801:3312, offset: 0x010e8ff6, size: 107 bytes, params: 2, frame: 14
var r0;
var object2;
const value = a0;
const type = value.type;
const NotificationCenterItems = (require(4624) /* metro dependency 4624: NotificationCenterItemsTypes */).NotificationCenterItems;
const GUILD_SCHEDULED_EVENT_STARTED = NotificationCenterItems.GUILD_SCHEDULED_EVENT_STARTED;
if (type !== GUILD_SCHEDULED_EVENT_STARTED) {
r0 = value;
} else if (value.guild_scheduled_event_id !== env0_0.id) {
r0 = value;
} else {
object2 = {};
copyDataProperties(object2, value, require);
object2['disable_action'] = true;
r0 = object2;
}
return r0;
}
function value_39726(a0) { // fn#39726, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4801:3828, offset: 0x010e91fc, size: 137 bytes, params: 2, frame: 17
var value2;
var object2;
this.waitFor(UserStore, RelationshipStore, ExperimentStore);
if (a0 != null) {
value2 = a0.notifCenterItems.map(function(a0) {
var r4;
var object = {};
copyDataProperties(object, a0, r4);
object['message'] = a0.message != null ? new MessageRecord() : undefined;
return object;
});
if (value2.length > 0) {
object2 = {};
copyDataProperties(object2, env1_14, undefined);
object2['initialized'] = true;
object2['isDataStale'] = true;
object2['notifCenterItems'] = [];
object2['staleNotifCenterItems'] = value2;
}
}
}
function value_39728() { // fn#39728, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4801:4086, offset: 0x010e92cf, size: 83 bytes, params: 1, frame: 14
var environment;
const closure = function(a0) {
var r3;
var object = {};
copyDataProperties(object, a0, r3);
object['message'] = a0.message?.toJS();
return object;
};
const object2 = {};
const value = environment.__proto__;
copyDataProperties(object2, env1_14, undefined);
object2['notifCenterItems'] = env1_14.notifCenterItems.map(closure);
object2['staleNotifCenterItems'] = env1_14.staleNotifCenterItems.map(closure);
return object2;
}
function get_39730() { // fn#39730, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4801:4302, offset: 0x010e935b, size: 15 bytes, params: 1, frame: 1
return env1_14.loading;
}
function get_39731() { // fn#39731, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4801:4355, offset: 0x010e936a, size: 15 bytes, params: 1, frame: 1
return env1_14.initialized;
}
function get_39732() { // fn#39732, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4801:4406, offset: 0x010e9379, size: 36 bytes, params: 1, frame: 3
const isDataStale = env1_14.isDataStale;
const binding = env1_14;
return isDataStale ? binding.staleNotifCenterItems : binding.notifCenterItems;
}
function get_39733() { // fn#39733, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4801:4502, offset: 0x010e939d, size: 15 bytes, params: 1, frame: 1
return env1_14.paginationHasMore;
}
function get_39734() { // fn#39734, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4801:4560, offset: 0x010e93ac, size: 15 bytes, params: 1, frame: 1
return env1_14.paginationCursor;
}
function get_39735() { // fn#39735, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4801:4618, offset: 0x010e93bb, size: 15 bytes, params: 1, frame: 1
return env1_14.errored;
}
function get_39736() { // fn#39736, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4801:4666, offset: 0x010e93ca, size: 15 bytes, params: 1, frame: 1
return env1_14.notifCenterActive;
}
function get_39737() { // fn#39737, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4801:4728, offset: 0x010e93d9, size: 15 bytes, params: 1, frame: 1
return env1_14.notifCenterLocalItems;
}
function get_39738() { // fn#39738, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4801:4794, offset: 0x010e93e8, size: 15 bytes, params: 1, frame: 1
return env1_14.notifCenterTabFocused;
}
function _fun39740({id, type, since, is_spam_request, user_ignored, origin_application_id}) { // fn#39740, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4801:5073, offset: 0x010e9474, size: 165 bytes, params: 2, frame: 19
if (user_ignored) {
env0_1.add(id);
}
let value = environment.__proto__;
const PENDING_INCOMING = RelationshipTypes.PENDING_INCOMING;
if (type !== PENDING_INCOMING) {
return null;
}
if (is_spam_request) {
return null;
}
if (user_ignored) {
return null;
}
if (since == null) {
return null;
}
const user = UserStore.getUser(id);
if (user == null) {
return null;
}
const binding = env0_0;
const push = binding.push;
value = require(4788) /* metro dependency 4788: NotificationCenterUtils */;
Reflect.apply(push, binding, [value.incomingFriendRequestLocalItem(user, since, origin_application_id)]);
}
function _fun39741({type, id, application_id, since}) { // fn#39741, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4801:5364, offset: 0x010e9519, size: 136 bytes, params: 2, frame: 18
var binding;
var user;
var push;
let value = environment.__proto__;
const PENDING_INCOMING = RelationshipTypes.PENDING_INCOMING;
if (type === PENDING_INCOMING) {
binding = env0_1;
if (!binding.has(id)) {
user = UserStore.getUser(id);
if (user != null) {
binding = env0_0;
push = binding.push;
value = require(4788) /* metro dependency 4788: NotificationCenterUtils */;
Reflect.apply(push, binding, [value.incomingGameFriendRequestLocalItem(user, since, application_id)]);
}
}
}
}
function _fun39742({guild_scheduled_events}) { // fn#39742, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4801:5554, offset: 0x010e95a1, size: 30 bytes, params: 2, frame: 11
guild_scheduled_events.forEach(function(a0) {
updateGuildEvent(a0);
});
}
function _fun39753({id}) { // fn#39753, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4801:6793, offset: 0x010e97ea, size: 36 bytes, params: 2, frame: 11
const notifCenterIds = env1_14.notifCenterIds;
return !notifCenterIds.has(id);
}
function _fun39755({id}) { // fn#39755, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4801:6900, offset: 0x010e980e, size: 33 bytes, params: 2, frame: 11
return env1_14.notifCenterIds.add(id);
}
function _fun39760(a0) { // fn#39760, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4801:7388, offset: 0x010e98a1, size: 135 bytes, params: 2, frame: 18
const value = environment.__proto__;
const isItemBinding = isItem;
const NotificationCenterLocalItems = (require(4624) /* metro dependency 4624: NotificationCenterItemsTypes */).NotificationCenterLocalItems;
const INCOMING_FRIEND_REQUESTS = NotificationCenterLocalItems.INCOMING_FRIEND_REQUESTS;
return !isItemBinding(a0, INCOMING_FRIEND_REQUESTS, env0_0.relationship.id) && !isItem(a0,
NotificationCenterLocalItems.INCOMING_FRIEND_REQUESTS_ACCEPTED, env0_0.relationship.id);
}
function _fun39762(a0) { // fn#39762, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4801:8012, offset: 0x010e9a1c, size: 198 bytes, params: 2, frame: 21
var r0;
var object2;
let value = a0;
const isGameRelationshipItemBinding = isGameRelationshipItem;
const NotificationCenterLocalItems = (require(4624) /* metro dependency 4624: NotificationCenterItemsTypes */).NotificationCenterLocalItems;
const INCOMING_GAME_FRIEND_REQUESTS = NotificationCenterLocalItems.INCOMING_GAME_FRIEND_REQUESTS;
const idBinding = id;
if (isGameRelationshipItemBinding(value, INCOMING_GAME_FRIEND_REQUESTS, idBinding, applicationId)) {
object2 = {};
copyDataProperties(object2, value, idBinding);
object2['acked'] = true;
object2['forceUnacked'] = false;
value = 'incoming_game_friend_requests_accepted_' + id + '_' + value.id;
object2['local_id'] = value;
object2['type'] = NotificationCenterLocalItems.INCOMING_GAME_FRIEND_REQUESTS_ACCEPTED;
r0 = object2;
} else {
r0 = value;
}
return r0;
}
function _fun39764(a0) { // fn#39764, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4801:8443, offset: 0x010e9b1f, size: 125 bytes, params: 2, frame: 20
const value = environment.__proto__;
const isGameRelationshipItemBinding = isGameRelationshipItem;
const NotificationCenterLocalItems = (require(4624) /* metro dependency 4624: NotificationCenterItemsTypes */).NotificationCenterLocalItems;
const INCOMING_GAME_FRIEND_REQUESTS = NotificationCenterLocalItems.INCOMING_GAME_FRIEND_REQUESTS;
return !isGameRelationshipItemBinding(a0, INCOMING_GAME_FRIEND_REQUESTS, userId,
applicationId) && !isGameRelationshipItem(a0,
NotificationCenterLocalItems.INCOMING_GAME_FRIEND_REQUESTS_ACCEPTED, userId, applicationId);
}
function _fun39769({local_id}) { // fn#39769, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4801:9093, offset: 0x010e9cb3, size: 28 bytes, params: 2, frame: 2
return local_id === env0_0.local_id;
}
function _fun39770({kind}) { // fn#39770, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4801:9184, offset: 0x010e9ccf, size: 26 bytes, params: 2, frame: 2
return kind !== env0_0.kind;
}
function _fun39772(a0) { // fn#39772, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4801:9390, offset: 0x010e9d47, size: 44 bytes, params: 2, frame: 12
return a0.applicationId == null || !env0_0.has(a0.applicationId);
}