Files
discord-decomp/sources/lib/guild/GuildMemberSubscriptions.tsx
T
2026-07-27 16:20:00 +03:00

131 lines
6.4 KiB
TypeScript

/* Metro module 6889; source: lib/guild/GuildMemberSubscriptions.tsx; dependencies: [6, 7, 672, 4041, 21, 3, 22, 2] */
function _fun54697(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#54697, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7067:6, offset: 0x0136c22e, size: 168 bytes, params: 8, frame: 19
const env0_0 = require;
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 Millis = (importDefault(672) /* metro dependency 672: Durations */).Millis;
const MINUTE = Millis.MINUTE;
const env0_5 = 1 * MINUTE;
const value = _fun54698();
(require(2) /* metro dependency 2 */).fileFinishedImporting('lib/guild/GuildMemberSubscriptions.tsx');
exports.default = value;
}
function _fun54698() { // fn#54698, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7067:144, offset: 0x0136c2d6, size: 243 bytes, params: 1, frame: 15
return env0_4(GuildMemberSubscriptions, [{key: 'reset', value: function() {
this._subscriptions = {};
this._unsubscriptions = {};
this._unsubscribe.cancel();
}}, {key: 'get', value: value_54702}, {key: 'clear', value: function(a0) {
delete this._subscriptions[a0];
delete this._unsubscriptions[a0];
}}, {key: 'subscribe', value: function(a0, a1) {
var r0;
r0 = this._subscriptions[a0] ?? ({});
r0[a1] = (r0[a1] ?? 0) + 1;
this._subscriptions[a0] = r0;
if (r0[a1] === 1) {
this._onChange(a0, this.get(a0));
}
this.checkForLeaks(a0, a1);
}}, {key: 'isSubscribed', value: function(a0, a1) {
return this._subscriptions[a0] != null && this._subscriptions[a0][a1] != null;
}}, {key: 'isSubscribedToAnyMember', value: function(a0) {
return this.get(a0).length > 0;
}}, {key: 'unsubscribe', value: function(a0, a1) {
var r1;
var property;
if (this.isSubscribed(a0, a1)) {
property = this._unsubscriptions[a0];
r1 = property ?? ({});
property = r1[a1];
r1[a1] = (property ?? 0) + 1;
this._unsubscriptions[a0] = r1;
if (r1[a1] === 1) {
this._unsubscribe.delay(false);
}
}
}}, {key: 'checkForLeaks', value: value_54708}, {key: 'flushUnsubscriptions', value: value_54709}]);
}
function GuildMemberSubscriptions(a0) { // fn#54699, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7067:165, offset: 0x0136c3c9, size: 119 bytes, params: 2, frame: 16
var environment;
const value = environment.__proto__;
env1_3(this, GuildMemberSubscriptions);
this._subscriptions = {};
this._unsubscriptions = {};
const DelayedCall = (require(4041) /* metro dependency 4041: Timers */).DelayedCall;
this._unsubscribe = new DelayedCall(env1_5, _fun54700);
this._onChange = a0;
}
function value_54702(a0) { // fn#54702, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7067:507, offset: 0x0136c47c, size: 61 bytes, params: 2, frame: 12
const r2 = this._subscriptions[a0] ?? ({});
const value = environment.__proto__;
return (importDefault(21) /* metro dependency 21: SnowflakeUtils */).keys(r2);
}
function value_54708(a0, a1) { // fn#54708, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7067:1322, offset: 0x0136c602, size: 183 bytes, params: 3, frame: 18
var value4;
var defaultImport;
var value5;
var defaultImport2;
let property = this._subscriptions[a0];
const value = undefined;
const r7 = property == null ? value : property[a1];
const value2 = 0;
const r1 = r7 ?? value2;
property = this._unsubscriptions[a0];
const value3 = r1 - ((property == null ? value : property[a1]) ?? value2);
if (value3 > 5) {
value4 = environment.__proto__;
defaultImport = importDefault(3) /* metro dependency 3: Logger */;
value5 = Object.create(defaultImport.prototype, {constructor: {value: defaultImport}});
defaultImport2 = new defaultImport('GuildMemberSubscriptions');
(defaultImport2 instanceof Object ? defaultImport2 : value5).warn('GuildMemberSubscriptions.subscribe(...): Potential reference leak! (' + value3 + ' subscriptions)');
}
return value;
}
function value_54709() { // fn#54709, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7067:1652, offset: 0x0136c6b9, size: 103 bytes, params: 1, frame: 17
var environment;
let value = environment.__proto__;
const defaultImport = importDefault(22) /* metro dependency 22 */;
if (!defaultImport.isEmpty(this._unsubscriptions)) {
value = defaultImport;
value.forEach(this._unsubscriptions, _fun54710);
this._unsubscriptions = {};
}
}
function _fun54700() { // fn#54700, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7067:329, offset: 0x0136c440, size: 21 bytes, params: 1, frame: 9
return env0_0.flushUnsubscriptions();
}
function _fun54710(a0, a1) { // fn#54710, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7067:1743, offset: 0x0136c720, size: 135 bytes, params: 3, frame: 20
const property = env0_0._subscriptions[a1];
var env0_0 = property;
(importDefault(22) /* metro dependency 22 */).forEach(a0, _fun54711);
const defaultImport2 = importDefault(22) /* metro dependency 22 */;
if (defaultImport2.isEmpty(property)) {
delete env0_0._subscriptions[a1];
}
const binding = env0_0;
const _onChange = binding._onChange;
const get = binding.get;
Reflect.apply(_onChange, binding, [a1, Reflect.apply(get, binding, [a1])]);
}
function _fun54711(a0, a1) { // fn#54711, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7067:1799, offset: 0x0136c7a7, size: 65 bytes, params: 3, frame: 7
const binding = env0_0;
const property = binding[a1];
const value2 = 0;
binding[a1] = (property ?? value2) - a0;
if (env0_0[a1] <= value2) {
delete env0_0[a1];
}
}