Files
discord-decomp/sources/stores/RelationshipStore.tsx
T
2026-07-28 01:06:53 +03:00

923 lines
40 KiB
TypeScript

/* Metro module 3793; source: stores/RelationshipStore.tsx; dependencies: [6, 7, 15, 17, 18, 57, 3794, 1878, 661, 694, 566, 2] */
import ClassCallCheck from '../by-id/module-00006-ClassCallCheck.js'; /* Metro dependency 6 */
import CreateClass from '../by-id/module-00007-CreateClass.js'; /* Metro dependency 7 */
import PossibleConstructorReturn from '../by-id/module-00015-PossibleConstructorReturn.js'; /* Metro dependency 15 */
import Module00017 from '../by-id/module-00017.js'; /* Metro dependency 17 */
import Inherits from '../by-id/module-00018-Inherits.js'; /* Metro dependency 18 */
import Module00057 from '../by-id/module-00057.js'; /* Metro dependency 57 */
import Flux from '../external/discord_common/js/packages/flux/index.tsx'; /* Metro dependency 566 */
import UserStore from './UserStore.tsx'; /* Metro dependency 1878 */
import MessageRecord from '../records/MessageRecord.tsx'; /* Metro dependency 3794 */
import * as FileImportTrackerModule from '../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ConstantsModule from '../Constants.tsx'; /* Metro dependency 661 */
function _fun28841(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#28841, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3920:6, offset: 0x00f848cf, size: 675 bytes, params: 8, frame: 20
const _arrayLikeToArray_28847 = 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 Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
let Map = global.Map;
const map = new Map();
const env0_12 = {};
const env0_13 = {};
const env0_14 = {};
let Set = global.Set;
let set = new Set();
Set = global.Set;
set = new Set();
Set = global.Set;
set = new Set();
const env0_18 = {};
const env0_20 = {};
object = {friends: undefined, blocked: undefined, ignored: undefined, blockedOrIgnored: undefined};
Map = global.Map;
set = new Map();
const Store = (Flux).Store;
_fun28852(Store).displayName = 'RelationshipStore';
set = new set(importDefault(694) /* metro dependency 694: Dispatcher */, {CONNECTION_OPEN: CONNECTION_OPEN_28884,
OVERLAY_INITIALIZE: OVERLAY_INITIALIZE_28886, RELATIONSHIP_ADD: RELATIONSHIP_ADD,
RELATIONSHIP_REMOVE: RELATIONSHIP_REMOVE, RELATIONSHIP_UPDATE: RELATIONSHIP_UPDATE,
RELATIONSHIP_PENDING_INCOMING_REMOVED: RELATIONSHIP_PENDING_INCOMING_REMOVED,
UPDATE_STRANGER_STATUS: UPDATE_STRANGER_STATUS});
(FileImportTrackerModule).fileFinishedImporting('stores/RelationshipStore.tsx');
exports.default = set;
function _isNativeReflectConstruct_28842() { // fn#28842, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3920:209, offset: 0x00f84b72, 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_28842_isNativeReflectConstruct = function() {
return !!result;
})();
}
function _createForOfIteratorHelperLoose_28845(a0, a1) { // fn#28845, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3920:402, offset: 0x00f84bd0, 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 _fun28846;
}
value = undefined;
if (a0) {
if (typeof a0 === 'string') {
value = _arrayLikeToArray_28847(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_28847(a0, value);
r6 = value;
} else {
regexp = RegExp('^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$', '');
if (regexp.test(r9)) {
value = _arrayLikeToArray_28847(a0, value);
r6 = value;
} else {
r6 = value;
}
}
r5 = r6;
}
} else {
r5 = value;
}
if (r5) {
if (r5) {
}
return _fun28846;
}
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 _fun28846() { // fn#28846, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3920:973, offset: 0x00c39d73, size: 69 bytes, params: 1, frame: 5
return env0_1 >= env0_0.length ? {done: true} : {done: false,
value: env0_0[typeof env0_1 === 'bigint' ? env0_1 : +env0_1]};
}
}
function resetUserIdLists() { // fn#28848, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3920:1470, offset: 0x00f84d42, size: 47 bytes, params: 1, frame: 3
env0_24.friends = undefined;
env0_24.blocked = undefined;
env0_24.ignored = undefined;
env0_24.blockedOrIgnored = undefined;
}
function upsertRelationship(a0, a1) { // fn#28849, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3920:1589, offset: 0x00f84d71, size: 177 bytes, params: 3, frame: 18
var value3;
var set;
var value4;
var Set;
var value5;
var set2;
let binding = env0_11;
const value2 = binding.get(a0);
if (value2 !== a1) {
if (value2 != null) {
value3 = env0_25.get(value2);
if (value3 != null) {
value3.delete(a0);
}
}
binding = env0_11;
binding.set(a0, a1);
binding = env0_25;
value4 = binding.get(a1);
if (value4 != null) {
value4.add(a0);
} else {
binding = env0_25;
set = binding.set;
Set = global.Set;
value5 = Object.create(Set.prototype, {constructor: {value: Set}});
set2 = new Set([a0]);
Reflect.apply(set, binding, [a1, set2 instanceof Object ? set2 : value5]);
}
resetUserIdLists();
}
}
function removeRelationship(a0) { // fn#28850, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3920:1781, offset: 0x00f84e22, size: 82 bytes, params: 2, frame: 14
var value3;
let binding = env0_11;
const value2 = binding.get(a0);
if (value2 != null) {
binding = env0_11;
binding.delete(a0);
binding = env0_25;
value3 = binding.get(value2);
if (value3 != null) {
value3.delete(a0);
}
resetUserIdLists();
}
}
function recountPending() { // fn#28851, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3920:1903, offset: 0x00f84e74, size: 137 bytes, params: 1, frame: 17
let size = env0_15.size;
size2 = size;
size3 = env0_17.size;
const Math = global.Math;
const max = Math.max;
let binding = env0_25;
const get = binding.get;
const PENDING_INCOMING = RelationshipTypes.PENDING_INCOMING;
const value2 = Reflect.apply(get, binding, [PENDING_INCOMING]);
const value3 = undefined;
size = value2 == null ? value3 : value2.size;
const value4 = 0;
env0_21 = Reflect.apply(max, Math, [(size ?? value4) - size2 - size3, value4]);
binding = env0_19;
env0_19 = typeof binding === 'bigint' ? binding + 1n : +binding + 1;
return value3;
}
function _fun28852(a0) { // fn#28852, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3920:2049, offset: 0x00f84efd, size: 722 bytes, params: 2, frame: 16
const RelationshipStore2 = RelationshipStore;
Inherits(RelationshipStore2, a0);
return CreateClass(RelationshipStore2, [{key: 'initialize', value: function() {
this.waitFor(UserStore);
}}, {key: 'isFriend', value: value_28855}, {key: 'isBlockedOrIgnored', value: function(a0) {
return this.isBlocked(a0) || this.isIgnored(a0);
}}, {key: 'isBlockedOrIgnoredForMessage', value: function(a0) {
return this.isBlockedForMessage(a0) || this.isIgnoredForMessage(a0);
}}, {key: 'isBlocked', value: value_28858}, {key: 'isBlockedForMessage', value: value_28859}, {key: 'isIgnored',
value: value_28860}, {key: 'isIgnoredForMessage', value: value_28861}, {key: 'isUnfilteredPendingIncoming',
value: value_28862}, {key: 'getPendingCount', value: value_28863}, {key: 'getSpamCount', value: value_28864},
{key: 'getPendingIgnoredCount', value: value_28865}, {key: 'getOutgoingCount', value: value_28866},
{key: 'getFriendCount', value: value_28867}, {key: 'getRelationshipCount', value: value_28868},
{key: 'getMutableRelationships', value: value_28869}, {key: 'getVersion', value: value_28870}, {key: 'isSpam',
value: value_28871}, {key: 'getRelationshipType', value: value_28872}, {key: 'getNickname', value: value_28873},
{key: 'getSince', value: value_28874}, {key: 'getSinces', value: value_28875}, {key: 'getNote',
value: value_28876}, {key: 'getFriendIDs', value: value_28877}, {key: 'getBlockedIDs', value: value_28878},
{key: 'getIgnoredIDs', value: value_28879}, {key: 'getBlockedOrIgnoredIDs', value: value_28881},
{key: 'getOriginApplicationId', value: value_28882}, {key: 'isStranger', value: value_28883}]);
function RelationshipStore() { // fn#28853, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3920:2061, offset: 0x00f851cf, size: 113 bytes, params: 1, frame: 20
const value = environment.__proto__;
env1_2(this, RelationshipStore);
const value3 = env1_5(RelationshipStore);
return env1_4(this, _isNativeReflectConstruct_28842() ? global.Reflect.construct(value3, arguments,
env1_5(this).constructor) : value3.apply(this, arguments));
}
function value_28855(a0) { // fn#28855, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3920:2415, offset: 0x00f85259, size: 45 bytes, params: 2, frame: 13
var r0;
let value = a0 != null;
if (value) {
value = environment.__proto__;
value = env1_11.get(a0) === RelationshipTypes.FRIEND;
r0 = value;
} else {
r0 = value;
}
return r0;
}
function value_28858(a0) { // fn#28858, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3920:2698, offset: 0x00f852c8, size: 45 bytes, params: 2, frame: 13
var r0;
let value = a0 != null;
if (value) {
value = environment.__proto__;
value = env1_11.get(a0) === RelationshipTypes.BLOCKED;
r0 = value;
} else {
r0 = value;
}
return r0;
}
function value_28859(a0) { // fn#28859, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3920:2782, offset: 0x00f852f5, size: 180 bytes, params: 2, frame: 16
var id;
var value;
var isBlocked;
var interaction_metadata;
var interactionMetadata;
if (a0.author == null) {
value = environment.__proto__;
value = a0 instanceof MessageRecord;
isBlocked = this.isBlocked;
if (value) {
interactionMetadata = a0.interactionMetadata;
if (Reflect.apply(isBlocked, this,
[interactionMetadata == null || interactionMetadata.user == null ? undefined : interactionMetadata.user.id])) {
return true;
}
return false;
}
interaction_metadata = a0.interaction_metadata;
value = undefined;
if (Reflect.apply(isBlocked, this,
[interaction_metadata == null || interaction_metadata.user == null ? value : interaction_metadata.user.id])) {
return true;
}
} else {
value = environment.__proto__;
var binding = env1_11;
var get = binding.get;
id = a0.author.id;
var value2 = Reflect.apply(get, binding, [id]);
var BLOCKED = RelationshipTypes.BLOCKED;
if (value2 === BLOCKED) {
return true;
}
value = environment.__proto__;
value = a0 instanceof MessageRecord;
isBlocked = this.isBlocked;
if (value) {
interactionMetadata = a0.interactionMetadata;
if (Reflect.apply(isBlocked, this,
[interactionMetadata == null || interactionMetadata.user == null ? undefined : interactionMetadata.user.id])) {
return true;
}
return false;
}
interaction_metadata = a0.interaction_metadata;
value = undefined;
id = interaction_metadata == null || interaction_metadata.user == null ? value : interaction_metadata.user.id;
if (Reflect.apply(isBlocked, this, [id])) {
return true;
}
}
return false;
}
function value_28860(a0) { // fn#28860, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3920:3100, offset: 0x00f853a9, size: 65 bytes, params: 2, frame: 13
return a0 != null && (env1_11.get(a0) !== RelationshipTypes.BLOCKED && env1_16.has(a0));
}
function value_28861(a0) { // fn#28861, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3920:3196, offset: 0x00f853ea, size: 163 bytes, params: 2, frame: 16
var id;
var isIgnored;
var value;
var interaction_metadata;
var interactionMetadata;
if (a0.author == null) {
value = environment.__proto__;
value = a0 instanceof MessageRecord;
isIgnored = this.isIgnored;
if (value) {
interactionMetadata = a0.interactionMetadata;
if (Reflect.apply(isIgnored, this,
[interactionMetadata == null || interactionMetadata.user == null ? undefined : interactionMetadata.user.id])) {
return true;
}
return false;
}
interaction_metadata = a0.interaction_metadata;
value = undefined;
if (Reflect.apply(isIgnored, this,
[interaction_metadata == null || interaction_metadata.user == null ? value : interaction_metadata.user.id])) {
return true;
}
} else {
isIgnored = this.isIgnored;
id = a0.author.id;
if (Reflect.apply(isIgnored, this, [id])) {
return true;
}
value = environment.__proto__;
value = a0 instanceof MessageRecord;
isIgnored = this.isIgnored;
if (value) {
interactionMetadata = a0.interactionMetadata;
if (Reflect.apply(isIgnored, this,
[interactionMetadata == null || interactionMetadata.user == null ? undefined : interactionMetadata.user.id])) {
return true;
}
return false;
}
interaction_metadata = a0.interaction_metadata;
value = undefined;
id = interaction_metadata == null || interaction_metadata.user == null ? value : interaction_metadata.user.id;
if (Reflect.apply(isIgnored, this, [id])) {
return true;
}
}
return false;
}
function value_28862(a0) { // fn#28862, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3920:3529, offset: 0x00f8548d, size: 73 bytes, params: 2, frame: 13
const value = environment.__proto__;
const value2 = env1_11.get(a0);
const PENDING_INCOMING = RelationshipTypes.PENDING_INCOMING;
return value2 === PENDING_INCOMING && !this.isSpam(a0) && !this.isIgnored(a0);
}
function value_28863() { // fn#28863, offset: 0x00f854d6, size: 9 bytes, params: 1, frame: 1
return env1_21;
}
function value_28864() { // fn#28864, offset: 0x00e425c8, size: 9 bytes, params: 1, frame: 1
return env1_22;
}
function value_28865() { // fn#28865, offset: 0x00df3ac4, size: 9 bytes, params: 1, frame: 1
return env1_23;
}
function value_28866() { // fn#28866, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3920:3804, offset: 0x00f854df, size: 57 bytes, params: 1, frame: 12
const value = environment.__proto__;
const binding = env1_25;
const get = binding.get;
const PENDING_OUTGOING = RelationshipTypes.PENDING_OUTGOING;
return Reflect.apply(get, binding, [PENDING_OUTGOING])?.size ?? 0;
}
function value_28867() { // fn#28867, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3920:3924, offset: 0x00f85518, size: 57 bytes, params: 1, frame: 12
const value = environment.__proto__;
const binding = env1_25;
const get = binding.get;
const FRIEND = RelationshipTypes.FRIEND;
return Reflect.apply(get, binding, [FRIEND])?.size ?? 0;
}
function value_28868() { // fn#28868, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3920:4040, offset: 0x00f85551, size: 14 bytes, params: 1, frame: 1
return env1_11.size;
}
function value_28869() { // fn#28869, offset: 0x00ef8482, size: 9 bytes, params: 1, frame: 1
return env1_11;
}
function value_28870() { // fn#28870, offset: 0x00d406a2, size: 9 bytes, params: 1, frame: 1
return env1_19;
}
function value_28871(a0) { // fn#28871, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3920:4192, offset: 0x00f8555f, size: 22 bytes, params: 2, frame: 11
return env1_15.has(a0);
}
function value_28872(a0) { // fn#28872, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3920:4255, offset: 0x00f85575, size: 38 bytes, params: 2, frame: 12
return env1_11.get(a0) ?? RelationshipTypes.NONE;
}
function value_28873(a0) { // fn#28873, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3920:4333, offset: 0x00f8559b, size: 16 bytes, params: 2, frame: 2
return env1_12[a0];
}
function value_28874(a0) { // fn#28874, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3920:4381, offset: 0x00ef2251, size: 16 bytes, params: 2, frame: 2
return env1_13[a0];
}
function value_28875() { // fn#28875, offset: 0x00e2f9d5, size: 9 bytes, params: 1, frame: 1
return env1_13;
}
function value_28876(a0) { // fn#28876, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3920:4473, offset: 0x00f7ecf6, size: 16 bytes, params: 2, frame: 2
return env1_14[a0];
}
function value_28877() { // fn#28877, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3920:4525, offset: 0x00f855ab, size: 91 bytes, params: 1, frame: 16
var binding;
var Array;
var from;
var binding2;
if (env1_24.friends == null) {
binding = env1_24;
Array = global.Array;
from = Array.from;
binding2 = env1_25;
binding.friends = Reflect.apply(from, Array, [binding2.get(RelationshipTypes.FRIEND) ?? []]);
}
return env1_24.friends;
}
function value_28878() { // fn#28878, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3920:4660, offset: 0x00f85606, size: 91 bytes, params: 1, frame: 16
var binding;
var Array;
var from;
var binding2;
if (env1_24.blocked == null) {
binding = env1_24;
Array = global.Array;
from = Array.from;
binding2 = env1_25;
binding.blocked = Reflect.apply(from, Array, [binding2.get(RelationshipTypes.BLOCKED) ?? []]);
}
return env1_24.blocked;
}
function value_28879() { // fn#28879, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3920:4796, offset: 0x00f85661, size: 96 bytes, params: 1, frame: 15
var binding;
var Array;
var from;
var binding2;
if (env1_24.ignored == null) {
binding = env1_24;
Array = global.Array;
from = Array.from;
binding2 = env1_16;
binding.ignored = Reflect.apply(from, Array, [binding2.values()]).filter(_fun28880);
}
return env1_24.ignored;
function _fun28880(a0) { // fn#28880, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3920:4873, offset: 0x00f856c1, size: 23 bytes, params: 2, frame: 11
return env0_0.isIgnored(a0);
}
}
function value_28881() { // fn#28881, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3920:4945, offset: 0x00f856d8, size: 182 bytes, params: 1, frame: 16
var r3;
var Set;
var binding;
var prototype;
var value2;
var set;
var value3;
var get;
var BLOCKED;
var value4;
var value5;
var value6;
var done;
var value7;
var add;
var value8;
var Array;
var from;
var values;
reducibleJoin5: while (true) {
if (env1_24.blockedOrIgnored != null) {
break reducibleJoin5;
}
Set = global.Set;
binding = env1_16;
prototype = Set.prototype;
value2 = Object.create(prototype, {constructor: {value: Set}});
set = new Set();
value3 = set instanceof Object ? set : value2;
binding = env1_25;
get = binding.get;
BLOCKED = RelationshipTypes.BLOCKED;
value4 = Reflect.apply(get, binding, [BLOCKED]);
reducibleJoin4: while (true) {
if (value4 == null) {
break reducibleJoin4;
}
value5 = _createForOfIteratorHelperLoose_28845(value4);
value6 = value5();
done = value6.done;
if (done) {
break reducibleJoin4;
}
r3 = value6;
reducibleLoop3: while (true) {
value7 = r3.value;
add = value3.add;
Reflect.apply(add, value3, [value7]);
value8 = value5();
done = value8.done;
if (done) {
break reducibleJoin4;
}
r3 = value8;
continue reducibleLoop3;
}
}
binding = env1_24;
Array = global.Array;
from = Array.from;
values = value3.values;
binding.blockedOrIgnored = Reflect.apply(from, Array, [Reflect.apply(values, value3, [])]);
break reducibleJoin5;
}
return env1_24.blockedOrIgnored;
}
function value_28882(a0) { // fn#28882, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3920:5224, offset: 0x00f8578e, size: 16 bytes, params: 2, frame: 2
return env1_18[a0];
}
function value_28883(a0) { // fn#28883, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3920:5274, offset: 0x00f8579e, size: 83 bytes, params: 2, frame: 12
if (env1_20[a0] == null) {
return undefined;
}
const expiry = env1_20[a0].expiry;
const Date = global.Date;
if (expiry < Date.now()) {
delete env1_20[a0];
return undefined;
}
return env1_20[a0].isStranger;
}
}
function CONNECTION_OPEN_28884({relationships}) { // fn#28884, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3920:5458, offset: 0x00f857f1, size: 149 bytes, params: 2, frame: 13
env0_11.clear();
env0_25.clear();
env0_12 = {};
env0_13 = {};
env0_14 = {};
env0_16.clear();
env0_15.clear();
env0_17.clear();
resetUserIdLists();
env0_18 = {};
env0_20 = {};
relationships.forEach(_fun28885);
recountPending();
function _fun28885(a0) { // fn#28885, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3920:5610, offset: 0x00f85886, size: 242 bytes, params: 2, frame: 16
var binding;
upsertRelationship(a0.id, a0.type);
if (a0.nickname != null) {
env1_12[a0.id] = a0.nickname;
}
if (a0.since != null) {
env1_13[a0.id] = a0.since;
}
if (a0.note != null) {
env1_14[a0.id] = a0.note;
}
if (a0.is_spam_request) {
binding = env1_15;
binding.add(a0.id);
}
if (a0.origin_application_id != null) {
env1_18[a0.id] = a0.origin_application_id;
}
if (a0.user_ignored) {
binding = env1_16;
binding.add(a0.id);
if (a0.type === RelationshipTypes.PENDING_INCOMING) {
binding = env1_17;
binding.add(a0.id);
}
}
}
}
function OVERLAY_INITIALIZE_28886({relationships}) { // fn#28886, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3920:5956, offset: 0x00f85978, size: 129 bytes, params: 2, frame: 19
var r3;
var value4;
var value5;
var upsertRelationshipBinding;
var property;
var value6;
env0_11.clear();
env0_25.clear();
const value2 = _createForOfIteratorHelperLoose_28845(relationships);
const value3 = value2();
let done = value3.done;
if (!done) {
for (r3 = value3; true; r3 = value6) {
value4 = r3.value;
value5 = Module00057(value4, 2);
upsertRelationshipBinding = upsertRelationship;
property = value5[0];
upsertRelationshipBinding(property, value5[1]);
value6 = value2();
done = value6.done;
if (done) {
break;
}
}
}
recountPending();
}
function RELATIONSHIP_ADD(a0) { // fn#28887, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3920:6177, offset: 0x00f859f9, size: 677 bytes, params: 2, frame: 17
var r7;
var object;
var add;
let binding = env0_11;
const get = binding.get;
let relationship = a0.relationship;
let id = relationship.id;
const value2 = Reflect.apply(get, binding, [id]);
const upsertRelationshipBinding = upsertRelationship;
id = a0.relationship.id;
let type = a0.relationship.type;
upsertRelationshipBinding(id, type);
if (a0.relationship.nickname != null) {
object = {};
copyDataProperties(object, env0_12, r7);
relationship = a0.relationship;
id = relationship.id;
relationship = a0.relationship;
object[id] = relationship.nickname;
r7 = id;
}
if (a0.relationship.since != null) {
object = {};
copyDataProperties(object, env0_13, r7);
relationship = a0.relationship;
id = relationship.id;
relationship = a0.relationship;
object[id] = relationship.since;
r7 = id;
}
if (a0.relationship.note != null) {
object = {};
copyDataProperties(object, env0_14, r7);
relationship = a0.relationship;
id = relationship.id;
relationship = a0.relationship;
object[id] = relationship.note;
r7 = id;
}
if (a0.relationship.originApplicationId != null) {
object = {};
copyDataProperties(object, env0_18, r7);
relationship = a0.relationship;
id = relationship.id;
relationship = a0.relationship;
object[id] = relationship.originApplicationId;
}
const isSpamRequest = a0.relationship.isSpamRequest;
binding = env0_15;
if (isSpamRequest) {
binding.add(a0.relationship.id);
} else {
binding.delete(a0.relationship.id);
}
const userIgnored = a0.relationship.userIgnored;
binding = env0_16;
if (userIgnored) {
add = binding.add;
relationship = a0.relationship;
Reflect.apply(add, binding, [relationship.id]);
relationship = a0.relationship;
if (relationship.type === RelationshipTypes.PENDING_INCOMING) {
binding = env0_17;
binding.add(a0.relationship.id);
} else if (a0.relationship.type === RelationshipTypes.FRIEND) {
env0_17.delete(a0.relationship.id);
}
} else {
relationship = a0.relationship;
id = relationship.id;
binding.delete(id);
binding = env0_17;
relationship = a0.relationship;
id = relationship.id;
binding.delete(id);
}
recountPending();
type = a0.relationship.type;
const FRIEND = RelationshipTypes.FRIEND;
if (type === FRIEND && value2 === RelationshipTypes.PENDING_OUTGOING) {
(importDefault(694) /* metro dependency 694: Dispatcher */).dispatch({type: 'FRIEND_REQUEST_ACCEPTED',
user: a0.relationship.user});
}
}
function RELATIONSHIP_REMOVE(a0) { // fn#28888, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3920:7142, offset: 0x00f85c9e, size: 350 bytes, params: 2, frame: 15
var object;
removeRelationship(a0.relationship.id);
let binding = env0_12;
if (binding[a0.relationship.id] != null) {
object = {};
copyDataProperties(object, env0_12, object);
delete object[a0.relationship.id];
}
if (env0_13[a0.relationship.id] != null) {
object = {};
copyDataProperties(object, env0_13, object);
delete object[a0.relationship.id];
}
if (env0_14[a0.relationship.id] != null) {
object = {};
copyDataProperties(object, env0_14, object);
delete object[a0.relationship.id];
}
binding = env0_18;
if (binding[a0.relationship.id] != null) {
object = {};
copyDataProperties(object, env0_18, binding);
delete object[a0.relationship.id];
}
if (!a0.relationship.userIgnored) {
env0_16.delete(a0.relationship.id);
}
env0_17.delete(a0.relationship.id);
env0_15.delete(a0.relationship.id);
recountPending();
}
function RELATIONSHIP_UPDATE({relationship}) { // fn#28889, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3920:7623, offset: 0x00f85dfc, size: 399 bytes, params: 2, frame: 16
const upsertRelationshipBinding = upsertRelationship;
let id = relationship.id;
upsertRelationshipBinding(id, relationship.type);
if (relationship.since == null) {
delete env0_13[relationship.id];
} else {
env0_13[relationship.id] = relationship.since;
}
if (relationship.nickname == null) {
delete env0_12[relationship.id];
} else {
env0_12[relationship.id] = relationship.nickname;
}
if (relationship.note == null) {
delete env0_14[relationship.id];
} else {
env0_14[relationship.id] = relationship.note;
}
const isSpamRequest = relationship.isSpamRequest;
let binding = env0_15;
if (isSpamRequest) {
binding.add(relationship.id);
} else {
binding.delete(relationship.id);
}
if (env0_20[relationship.id] != null) {
delete env0_20[relationship.id];
}
if (relationship.originApplicationId == null) {
delete env0_18[relationship.id];
} else {
env0_18[relationship.id] = relationship.originApplicationId;
}
const userIgnored = relationship.userIgnored;
binding = env0_16;
if (userIgnored) {
binding.add(relationship.id);
if (relationship.type === RelationshipTypes.PENDING_INCOMING) {
binding = env0_17;
binding.add(relationship.id);
}
} else {
id = relationship.id;
binding.delete(id);
binding = env0_17;
id = relationship.id;
binding.delete(id);
}
recountPending();
}
function RELATIONSHIP_PENDING_INCOMING_REMOVED() { // fn#28890, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3920:8149, offset: 0x00f85f8b, size: 142 bytes, params: 1, frame: 15
var r3;
var value5;
var value6;
var PENDING_INCOMING;
var value7;
const _createForOfIteratorHelperLoose_28845Binding = _createForOfIteratorHelperLoose_28845;
let binding = env0_11;
const value3 = _createForOfIteratorHelperLoose_28845Binding(binding.keys());
const value4 = value3();
let done = value4.done;
if (!done) {
r3 = value4;
while (true) {
value5 = r3.value;
binding = env0_11;
value6 = binding.get(value5);
PENDING_INCOMING = RelationshipTypes.PENDING_INCOMING;
if (value6 === PENDING_INCOMING) {
removeRelationship(value5);
binding = env0_15;
binding.delete(value5);
binding = env0_17;
binding.delete(value5);
delete env0_20[value5];
}
value7 = value3();
done = value7.done;
if (done) {
break;
}
r3 = value7;
continue;
}
}
recountPending();
}
function UPDATE_STRANGER_STATUS({userId, isStranger}) { // fn#28891, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3920:8405, offset: 0x00f86019, size: 68 bytes, params: 2, frame: 13
const binding = env0_20;
const object = {};
const Date = global.Date;
object.expiry = Date.now() + 300000;
object.isStranger = isStranger;
binding[userId] = object;
}
}
global.__d(_fun28841, 3793, [6, 7, 15, 17, 18, 57, 3794, 1878, 661, 694, 566,
2]) /* metro module 3793, dependencies: [6, 7, 15, 17, 18, 57, 3794, 1878, 661, 694, 566, 2] */;