Files
discord-decomp/sources/modules/guild_automod/AutomodStore.tsx
T
2026-07-28 01:06:53 +03:00

436 lines
22 KiB
TypeScript

/* Metro module 15883; source: modules/guild_automod/AutomodStore.tsx; dependencies: [57, 5, 31, 11454, 661, 685, 15884, 690, 11459, 4131, 3769, 2] */
import Module00005 from '../../by-id/module-00005.js'; /* Metro dependency 5 */
import Module00057 from '../../by-id/module-00057.js'; /* Metro dependency 57 */
import * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactModule from '../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as ConstantsModule from '../../Constants.tsx'; /* Metro dependency 661 */
import * as Module00685Module from '../../by-id/module-00685.js'; /* Metro dependency 685 */
import * as ReactBatchUpdatesNativeModule from '../../external/discord_common/js/shared/utils/ReactBatchUpdates.native.tsx'; /* Metro dependency 690 */
import * as Module03769Module from '../../by-id/module-03769.js'; /* Metro dependency 3769 */
import * as ConstantsModule2 from './Constants.tsx'; /* Metro dependency 11454 */
function _fun122535(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#122535, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16091:6, offset: 0x0256b7c6, size: 290 bytes, params: 8, frame: 20
const env0_0 = require;
const useSyncAutomodRules2 = useSyncAutomodRules;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_7 = {};
let value = Module00685Module;
value = value.createWithEqualityFn(_fun122540);
(FileImportTrackerModule).fileFinishedImporting('modules/guild_automod/AutomodStore.tsx');
exports.useAutomodStore = value;
exports.getRuleCountByTriggerType = getRuleCountByTriggerType;
exports.useSyncAutomodRules = useSyncAutomodRules2;
exports.useSyncAutomodRulesEffect = useSyncAutomodRulesEffect;
exports.useAutomodRulesList = useAutomodRulesList;
function useSyncAutomodRules(a0) { // fn#122536, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16091:1427, offset: 0x0256b8e8, size: 190 bytes, params: 2, frame: 21
const env0_0 = a0;
let binding = ReactModule;
const [property, env0_1] = Module00057(binding.useState(false), 2);
const value5 = Module00057(env0_8(function(a0) {
return [a0.syncRules, a0.fetching];
}, (require(3769) /* metro dependency 3769 */).shallow), 2);
const property2 = value5[0];
const property3 = value5[1];
const property32 = property3;
const items2 = [property];
binding = ReactModule;
const useCallback = binding.useCallback;
items2[1] = Reflect.apply(useCallback, binding, [property32(_fun122539), [a0, property3, property2]]);
return items2;
function* _fun122539() { // fn#122539, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16091:1604, offset: 0x0256b9ce, size: 115 bytes, params: 1, frame: 14
var binding;
var value3;
var value4;
var value5;
var error;
if (true) {
value = environment.__proto__;
if (!env1_3) {
if (require == null) {
return undefined;
}
try {
} catch (error) {
dependencyMap(false);
throw error;
}
try {
dependencyMap(true);
} catch (error) {
dependencyMap(false);
throw error;
}
try {
binding = env1_2;
} catch (error) {
dependencyMap(false);
throw error;
}
try {
} catch (error) {
dependencyMap(false);
throw error;
}
try {
value3 = binding(require);
} catch (error) {
dependencyMap(false);
throw error;
}
yield value3;
try {
value4 = undefined;
value5 = false;
} catch (error) {
dependencyMap(false);
throw error;
}
if (value5) {
dependencyMap(false);
return value4;
}
dependencyMap(false);
}
}
}
}
function _fun122540(a0, a1) { // fn#122540, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16091:234, offset: 0x0256ba41, size: 101 bytes, params: 3, frame: 13
const env0_0 = a0;
const env0_1 = a1;
const object = {'rules': null, 'fetching': false, 'error': null};
object.rules = {};
object.updateRule = updateRule;
object.removeRule = removeRule;
const env0_2 = Module00005(_fun122551);
object.syncRules = syncRules;
return object;
function updateRule(a0) { // fn#122541, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16091:292, offset: 0x0256baa6, size: 220 bytes, params: 2, frame: 17
var environment;
var items2;
const env0_0 = a0;
const guildId = a0.guildId;
const env0_2 = a0.id;
const triggerType = a0.triggerType;
let property = require().rules[guildId];
property = (property ?? ({}))[triggerType];
const r6 = property ?? [];
let value = r6.some(function({id}) {
return id === id;
});
const value2 = r6.filter(_fun122543);
if (value) {
value = value2.map(_fun122544);
} else {
items2 = [];
value = arraySpread(items2, value2, 0, r6);
items2[value] = a0;
value + 1;
}
value = environment.__proto__;
(ReactBatchUpdatesNativeModule).batchUpdates(_fun122545);
function _fun122543(a0) { // fn#122543, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16091:431, offset: 0x0256bb82, size: 69 bytes, params: 2, frame: 12
let value = environment.__proto__.__proto__;
value = Reflect.apply((require(15884) /* metro dependency 15884: SystemRulesUtils */).isDefaultRuleId, value,
[a0.id]);
return value ? a0.triggerType !== triggerType : !value;
}
function _fun122544(a0) { // fn#122544, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16091:497, offset: 0x0256bbc7, size: 25 bytes, params: 2, frame: 4
const value = a0;
return value.id !== id ? value : env0_0;
}
function _fun122545() { // fn#122545, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16091:546, offset: 0x0256bbe0, size: 80 bytes, params: 1, frame: 16
const binding = env1_0;
const object2 = {};
copyDataProperties(object2, rules, undefined);
const guildIdBinding = guildId;
const object3 = {};
copyDataProperties(object3, ConstantsModule2.AutomodTriggerType, undefined);
object3[triggerType] = ConstantsModule.EMPTY_STRING_SNOWFLAKE_ID;
object2[guildIdBinding] = object3;
binding({rules: object2, error: null});
}
}
function removeRule(a0, a1) { // fn#122546, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16091:612, offset: 0x0256bc30, size: 133 bytes, params: 3, frame: 15
var environment;
const env0_0 = a0;
const env0_1 = a1;
const property = require().rules[a1];
const Object = global.Object;
const env0_4 = Object.keys(property).reduce(_fun122547, {});
const value = environment.__proto__;
(ReactBatchUpdatesNativeModule).batchUpdates(_fun122549);
function _fun122547(a0, a1) { // fn#122547, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16091:668, offset: 0x0256bcb5, size: 67 bytes, params: 3, frame: 13
const Number = global.Number;
const value = Number(a1);
const r4 = Module00005[value] ?? [];
a0[value] = r4.filter(_fun122548);
return a0;
function _fun122548({id}) { // fn#122548, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16091:738, offset: 0x0112d1a9, size: 21 bytes, params: 2, frame: 2
return id !== env1_0;
}
}
function _fun122549() { // fn#122549, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16091:782, offset: 0x0256bcf8, size: 58 bytes, params: 1, frame: 14
const binding = env1_0;
const object2 = {};
copyDataProperties(object2, rules, undefined);
object2[require] = env0_4;
binding({rules: object2, error: null});
}
}
function* _fun122551(a0) { // fn#122551, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16091:842, offset: 0x0256bd3d, size: 333 bytes, params: 2, frame: 18
var environment;
var binding;
var binding2;
var fetchAutomodRules;
var value5;
var closure;
var rules;
var binding3;
var batchUpdates;
var error;
var binding4;
var APIError;
var prototype;
var aPIError;
if (true) {
var env0_0 = a0;
var env0_1;
var env0_2;
var env0_3;
var Date = global.Date;
var now = Date.now;
value = Reflect.apply(now, Date, []);
var property = env2_7[a0];
reduciblePort32: while (true) {
exceptionLanding31: while (true) {
if (value - (property ?? 0) > 20000) {
binding = env2_7;
Date = global.Date;
now = Date.now;
binding[a0] = Reflect.apply(now, Date, []);
try {
binding = env2_0;
} catch (error) {
break exceptionLanding31;
}
try {
binding2 = env2_1;
} catch (error) {
break exceptionLanding31;
}
try {
property = binding2[8];
} catch (error) {
break exceptionLanding31;
}
try {
value = binding(property);
} catch (error) {
break exceptionLanding31;
}
try {
fetchAutomodRules = value.fetchAutomodRules;
} catch (error) {
break exceptionLanding31;
}
try {
value = Reflect.apply(fetchAutomodRules, value, [a0]);
} catch (error) {
break exceptionLanding31;
}
yield value;
try {
value = undefined;
value5 = false;
} catch (error) {
break exceptionLanding31;
}
if (value5) {
return value;
}
try {
closure = _fun122552;
} catch (error) {
break exceptionLanding31;
}
try {
value = closure(value);
} catch (error) {
break exceptionLanding31;
}
try {
env0_1 = value;
} catch (error) {
break exceptionLanding31;
}
value = environment.__proto__;
try {
} catch (error) {
break exceptionLanding31;
}
try {
value = dependencyMap();
} catch (error) {
break exceptionLanding31;
}
try {
rules = value.rules;
} catch (error) {
break exceptionLanding31;
}
try {
env0_2 = rules;
} catch (error) {
break exceptionLanding31;
}
try {
binding = env2_0;
} catch (error) {
break exceptionLanding31;
}
try {
binding3 = env2_1;
} catch (error) {
break exceptionLanding31;
}
try {
property = binding3[7];
} catch (error) {
break exceptionLanding31;
}
try {
value = binding(property);
} catch (error) {
break exceptionLanding31;
}
try {
batchUpdates = value.batchUpdates;
} catch (error) {
break exceptionLanding31;
}
try {
closure = _fun122554;
} catch (error) {
break exceptionLanding31;
}
try {
Reflect.apply(batchUpdates, value, [closure]);
} catch (error) {
break exceptionLanding31;
}
break reduciblePort32;
}
break reduciblePort32;
}
binding = env2_0;
binding4 = env2_1;
APIError = binding(binding4[9]).APIError;
prototype = APIError.prototype;
value = Object.create(prototype, {constructor: {value: APIError}});
aPIError = new APIError();
value = aPIError instanceof Object ? aPIError : value;
env0_3 = value;
value = binding(binding4[7]);
batchUpdates = value.batchUpdates;
Reflect.apply(batchUpdates, value, [_fun122555]);
break reduciblePort32;
}
}
function _fun122552(a0) { // fn#122552, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16091:964, offset: 0x0256be8a, size: 127 bytes, params: 2, frame: 14
const object = {};
const binding = env3_5;
const KEYWORD = binding.KEYWORD;
object[KEYWORD] = [];
const ML_SPAM = binding.ML_SPAM;
object[ML_SPAM] = [];
const DEFAULT_KEYWORD_LIST = binding.DEFAULT_KEYWORD_LIST;
object[DEFAULT_KEYWORD_LIST] = [];
const MENTION_SPAM = binding.MENTION_SPAM;
object[MENTION_SPAM] = [];
const USER_PROFILE = binding.USER_PROFILE;
object[USER_PROFILE] = [];
const SERVER_POLICY = binding.SERVER_POLICY;
object[SERVER_POLICY] = [];
a0.forEach(_fun122553);
return object;
function _fun122553(a0) { // fn#122553, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16091:1113, offset: 0x0256bf09, size: 40 bytes, params: 2, frame: 11
const property = env0_0[a0.triggerType];
if (property != null) {
property.push(a0);
}
}
}
function _fun122554() { // fn#122554, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16091:1242, offset: 0x0256bf31, size: 58 bytes, params: 1, frame: 14
const object2 = {};
copyDataProperties(object2, rules, undefined);
object2[env0_0] = env0_1;
require({rules: object2, error: null});
}
function _fun122555() { // fn#122555, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16091:1347, offset: 0x0256bf6b, size: 29 bytes, params: 1, frame: 11
require({error: env0_3});
}
}
function syncRules() { // fn#122556, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16091:1373, offset: 0x00d6b059, size: 30 bytes, params: 1, frame: 13
return env0_2.apply(this, arguments);
}
}
function getRuleCountByTriggerType(a0, a1) { // fn#122557, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16091:1803, offset: 0x0256bf88, size: 63 bytes, params: 3, frame: 11
const binding = env0_8;
const getState = binding.getState;
let r0 = Reflect.apply(getState, binding, []).rules[a0]?.[a1];
r0 = r0 ?? [];
return r0.length;
}
function useSyncAutomodRulesEffect(a0) { // fn#122558, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16091:1966, offset: 0x0256bfc7, size: 97 bytes, params: 2, frame: 16
const value3 = Module00057(useSyncAutomodRules(a0), 2);
const property = value3[0];
const property2 = value3[1];
ReactModule.useEffect(_fun122559, [a0, property2]);
return [property, property2];
function _fun122559() { // fn#122559, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16091:2076, offset: 0x0256c028, size: 29 bytes, params: 1, frame: 11
env1_3(_fun122561)();
function* _fun122561() { // fn#122561, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16091:2084, offset: 0x0256c050, size: 39 bytes, params: 1, frame: 11
if (true) {
value = environment.__proto__.__proto__;
yield require();
}
}
}
}
function useAutomodRulesList(a0) { // fn#122562, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16091:2150, offset: 0x0256c077, size: 59 bytes, params: 2, frame: 14
const env0_0 = a0;
return env0_8(_fun122563, (Module03769Module).shallow);
function _fun122563({rules, updateRule, removeRule}) { // fn#122563, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16091:2192, offset: 0x0256c0b2, size: 78 bytes, params: 2, frame: 7
return {rulesByTriggerType: rules[env0_0 ?? EMPTY_STRING_SNOWFLAKE_ID] ?? ({}), updateRule: updateRule,
removeRule: removeRule};
}
}
}
global.__d(_fun122535, 15883, [57, 5, 31, 11454, 661, 685, 15884, 690, 11459, 4131, 3769,
2]) /* metro module 15883, dependencies: [57, 5, 31, 11454, 661, 685, 15884, 690, 11459, 4131, 3769, 2] */;