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

300 lines
11 KiB
TypeScript

/* Metro module 6612; source: modules/user_settings/UserGuildSettingsManager.tsx; dependencies: [7, 6, 15, 17, 18, 5, 5090, 1379, 661, 672, 507, 4860, 2] */
function _fun52225(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#52225, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6790:6, offset: 0x013230a9, size: 420 bytes, params: 8, frame: 19
const env0_0 = require;
const handleConnectionOpen_52229 = function() {
var object = {};
copyDataProperties(object, CategoryCollapseStore.getCollapsedCategories(), CategoryCollapseStore);
env0_13 = object;
};
const saveUserGuildSettings = function() {
return _saveUserGuildSettings.apply(this, arguments);
};
const saveUserGuildSettingsBulk = function() {
return _saveUserGuildSettingsBulk.apply(this, arguments);
};
const handleUserGuildSettingsFullUpdate_52240 = function() {
var object = {};
copyDataProperties(object, CategoryCollapseStore.getCollapsedCategories(), CategoryCollapseStore);
env0_13 = object;
};
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_2 = importDefault(7) /* metro dependency 7 */;
const env0_3 = importDefault(6) /* metro dependency 6 */;
const env0_4 = importDefault(15) /* metro dependency 15 */;
const env0_5 = importDefault(17) /* metro dependency 17 */;
const env0_6 = importDefault(18) /* metro dependency 18 */;
const env0_7 = importDefault(5) /* metro dependency 5 */;
const categoryCollapseStore = importDefault(5090) /* metro dependency 5090: CategoryCollapseStore */;
const channelStore = importDefault(1379) /* metro dependency 1379: ChannelStore */;
let value = require(661) /* metro dependency 661: Constants */;
const env0_10 = value.Endpoints;
const env0_11 = value.FAVORITES;
const env0_12 = value.ME;
let env0_13 = {};
const Millis = (importDefault(672) /* metro dependency 672: Durations */).Millis;
const SECOND = Millis.SECOND;
const env0_15 = 15 * SECOND;
value = importDefault(4860) /* metro dependency 4860: AutomaticLifecycleManager */;
value = _fun52241(value);
value = new value();
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/user_settings/UserGuildSettingsManager.tsx');
exports.default = value;
}
function _isNativeReflectConstruct_52226() { // fn#52226, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6790:223, offset: 0x0132324d, 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_52226_isNativeReflectConstruct = function() {
return !!result;
})();
}
function scheduleSync() { // fn#52230, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6790:522, offset: 0x013232cd, size: 51 bytes, params: 1, frame: 14
global.clearTimeout(env0_14);
env0_14 = global.setTimeout(function() {
return saveUserGuildSettingsBulk({});
}, env0_15);
}
function _saveUserGuildSettings() { // fn#52233, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6790:699, offset: 0x01323312, size: 48 bytes, params: 1, frame: 14
return env0_7(_fun52235).apply(this, arguments);
}
function _saveUserGuildSettingsBulk() { // fn#52237, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6790:1061, offset: 0x013233ff, size: 48 bytes, params: 1, frame: 14
return env0_7(_fun52239).apply(this, arguments);
}
function _fun52241(a0) { // fn#52241, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6790:1923, offset: 0x01323645, size: 40 bytes, params: 2, frame: 14
const closure = UserGuildSettingsManager;
env0_6(closure, a0);
return env0_2(closure);
}
function* _fun52235(a0, a1) { // fn#52235, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6790:766, offset: 0x0132334b, size: 180 bytes, params: 3, frame: 16
var binding;
var object2;
var HTTP;
var patch;
let value = a0;
if (true) {
if (value == null) {
value = environment.__proto__.__proto__;
binding = env2_0;
HTTP = binding(env2_1[10]).HTTP;
patch = HTTP.patch;
object2 = {};
binding = env2_10;
object2.url = binding.USER_GUILD_SETTINGS(env2_12);
object2.body = a1;
object2.rejectWithError = false;
yield Reflect.apply(patch, HTTP, [object2]);
value = undefined;
if (false) {
return value;
}
} else {
if (value === env2_12) {
value = environment.__proto__.__proto__;
binding = env2_0;
HTTP = binding(env2_1[10]).HTTP;
patch = HTTP.patch;
object2 = {};
binding = env2_10;
object2.url = binding.USER_GUILD_SETTINGS(env2_12);
object2.body = a1;
object2.rejectWithError = false;
yield Reflect.apply(patch, HTTP, [object2]);
value = undefined;
if (false) {
return value;
}
return undefined;
}
binding = env2_21;
yield binding(a1 != null ? {[value ?? env2_12]: a1} : {});
value = undefined;
if (false) {
return value;
}
}
}
}
function* _fun52239(a0) { // fn#52239, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6790:1136, offset: 0x01323438, size: 525 bytes, params: 2, frame: 30
var r20;
var r9;
var r2;
var r11;
var r15;
var r1;
var propertyName;
var propertyName2;
var property;
var propertyName3;
var propertyName4;
var channel;
var value8;
var guild_id;
var value9;
var channel_overrides;
var id;
var object3;
var channel_overrides2;
var id2;
var id3;
var HTTP;
if (false) {
return undefined;
}
const clearTimeout = global.clearTimeout;
value = environment.__proto__.__proto__;
clearTimeout(env2_14);
const Object = global.Object;
const value3 = Object.keys(a0).length !== 0;
let binding = env2_8;
const collapsedCategories = binding.getCollapsedCategories();
const object4 = {};
const collapsedCategories2 = env2_8.getCollapsedCategories();
const value6 = true;
for (propertyName in collapsedCategories2) {
property = collapsedCategories2[propertyName];
if (property === env2_13[propertyName]) {
r9 = propertyName2;
continue;
}
object4[propertyName] = value6;
r9 = propertyName2;
}
for (propertyName in env2_13) {
property = collapsedCategories2[propertyName];
if (property === env2_13[propertyName]) {
r9 = propertyName3;
continue;
}
object4[propertyName] = value6;
r9 = propertyName3;
}
const properties = Object.keys(object4);
const properties6 = 0;
const properties7 = properties.length;
if (properties === undefined) {
r1 = value3;
} else {
r2 = value3;
r11 = properties6;
while (true) {
propertyName = properties[r11];
propertyName4 = r11 + 1;
if (propertyName === undefined) {
r1 = r2;
break;
}
binding = env2_9;
channel = binding.getChannel(propertyName);
value8 = channel != null;
if (!value8) {
r15 = value8;
continue;
}
guild_id = channel.guild_id;
value9 = guild_id != null;
r15 = value9;
if (!r15) {
r11 = propertyName4;
continue;
}
guild_id = channel.guild_id;
if (guild_id in a0) {
continue;
}
a0[channel.guild_id] = {};
guild_id = channel.guild_id;
channel_overrides = a0[guild_id].channel_overrides;
if (channel_overrides != null) {
continue;
}
property = a0[channel.guild_id];
property.channel_overrides = {};
guild_id = channel.guild_id;
channel_overrides = a0[guild_id].channel_overrides;
id = channel.id;
object3 = {};
guild_id = channel.guild_id;
channel_overrides2 = a0[guild_id].channel_overrides;
id2 = channel.id;
copyDataProperties(object3, channel_overrides2[id2], channel_overrides2);
id3 = channel.id;
object3['collapsed'] = id3 in collapsedCategories;
channel_overrides[id] = object3;
r2 = value6;
r11 = propertyName4;
r20 = channel_overrides2;
}
}
if (r1) {
copyDataProperties({}, collapsedCategories, r20);
delete a0[env2_11];
HTTP = env2_0(env2_1[10]).HTTP;
yield HTTP.patch({url: env2_10.USER_GUILD_SETTINGS_BULK, body: {guilds: a0}, rejectWithError: false});
value = undefined;
if (false) {
return value;
}
return value.body;
}
return [];
}
function UserGuildSettingsManager(a0) { // fn#52242, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6790:1935, offset: 0x0132366d, size: 196 bytes, params: 2, frame: 20
var r0;
var Reflect;
let value = copyRestArgs(0, undefined);
let binding = env1_3;
binding(this, UserGuildSettingsManager);
const items = [];
arraySpread(items, value, 0, items);
value = env1_5(UserGuildSettingsManager);
binding = env1_4;
if (_isNativeReflectConstruct_52226()) {
Reflect = global.Reflect;
value = Reflect.construct(value, items, env1_5(this).constructor);
r0 = value;
} else {
value = value.apply(this, items);
r0 = value;
}
value = binding(this, r0);
const scheduleSyncBinding = scheduleSync;
value.actions = {CATEGORY_COLLAPSE: scheduleSyncBinding, CATEGORY_EXPAND: scheduleSyncBinding,
CATEGORY_COLLAPSE_ALL: scheduleSyncBinding, CATEGORY_EXPAND_ALL: scheduleSyncBinding,
POST_CONNECTION_OPEN: handleConnectionOpen_52229,
USER_GUILD_SETTINGS_FULL_UPDATE: handleUserGuildSettingsFullUpdate_52240};
value.saveUserGuildSettings = saveUserGuildSettings;
value.saveUserGuildSettingsBulk = saveUserGuildSettingsBulk;
return value;
}