378 lines
10 KiB
TypeScript
378 lines
10 KiB
TypeScript
// Metro module 16375 (f16376).
|
|
import _slicedToArray from "../../_bundle/_slicedToArray";
|
|
import _asyncToGenerator from "../../_bundle/_asyncToGenerator";
|
|
import { useState, useCallback, useEffect } from "react";
|
|
import { AutomodTriggerType } from "./Constants";
|
|
import { EMPTY_STRING_SNOWFLAKE_ID } from "../../Constants";
|
|
import { createWithEqualityFn } from "../../_bundle/identity_700";
|
|
import * as _SystemRulesUtils from "./SystemRulesUtils";
|
|
import { batchUpdates } from "../../_bundle/Module705";
|
|
import { fetchAutomodRules } from "./GuildAutomodActionCreators";
|
|
import { APIError } from "../../errors/index";
|
|
import { shallow } from "../../_bundle/Module3802";
|
|
import { HermesBuiltin, $createGenerator } from "../../_hermes/prelude";
|
|
function $mk99438() {
|
|
return (a0) => [a0.syncRules, a0.fetching];
|
|
}
|
|
function $mk99439($env) {
|
|
return function() {
|
|
let env28368 = {
|
|
$parent: $env
|
|
};
|
|
env28368[1] = 0;
|
|
env28368[4] = 0;
|
|
env28368[3] = 0;
|
|
return $createGenerator(function() {
|
|
let value2;
|
|
const r0 = env28368[4];
|
|
if (r0 === 2) {
|
|
env28368[4] = 3;
|
|
HermesBuiltin.throwTypeError("Generator functions may not be called on executing generators");
|
|
throw new Error("unreachable");
|
|
}
|
|
const value = arguments[1];
|
|
const r3 = arguments[0];
|
|
const r9 = env28368.$parent;
|
|
if (r0 === 3) {
|
|
if (r3 === 1) {
|
|
throw value;
|
|
}
|
|
if (r3 === 2) {
|
|
return {
|
|
value,
|
|
done: true
|
|
};
|
|
}
|
|
return {
|
|
value: void 0,
|
|
done: true
|
|
};
|
|
}
|
|
while (true) {
|
|
L20: {
|
|
L18: {
|
|
L16: {
|
|
L8: {
|
|
try {
|
|
env28368[4] = 2;
|
|
const r19 = env28368[1];
|
|
if (r19 === 0) {
|
|
if (r3 === 1) {
|
|
env28368[4] = 3;
|
|
throw value;
|
|
}
|
|
if (r3 === 2) {
|
|
env28368[4] = 3;
|
|
break L20;
|
|
}
|
|
env28368[0] = r9;
|
|
if (!r9[3]) {
|
|
const r33 = r9[0];
|
|
if (r33 != null) {
|
|
env28368[3] = 1;
|
|
(0, r9[1])(true);
|
|
value2 = (0, r9[2])(r33);
|
|
env28368[1] = 2;
|
|
env28368[4] = 1;
|
|
break L16;
|
|
}
|
|
}
|
|
} else {
|
|
if (r19 === 1) {
|
|
const r15 = env28368[0];
|
|
const r29 = env28368[2];
|
|
env28368[3] = 0;
|
|
(0, r15[1])(false);
|
|
throw r29;
|
|
}
|
|
if (r3 === 1) {
|
|
env28368[4] = 3;
|
|
throw value;
|
|
}
|
|
if (r3 === 2) {
|
|
env28368[3] = 0;
|
|
(0, env28368[0][1])(false);
|
|
env28368[4] = 3;
|
|
break L8;
|
|
}
|
|
env28368[3] = 0;
|
|
(0, env28368[0][1])(false);
|
|
}
|
|
env28368[4] = 3;
|
|
break L18;
|
|
} catch (r45) {
|
|
env28368[2] = r45;
|
|
if (env28368[3] === 0) {
|
|
env28368[4] = 3;
|
|
throw r45;
|
|
}
|
|
env28368[1] = 1;
|
|
continue;
|
|
}
|
|
}
|
|
return {
|
|
value,
|
|
done: true
|
|
};
|
|
}
|
|
return {
|
|
value: value2,
|
|
done: false
|
|
};
|
|
}
|
|
return {
|
|
value: void 0,
|
|
done: true
|
|
};
|
|
}
|
|
return {
|
|
value,
|
|
done: true
|
|
};
|
|
}
|
|
});
|
|
};
|
|
}
|
|
function $mk117374($env) {
|
|
return () => {
|
|
const r4 = $env;
|
|
const r2 = $env.$parent[0];
|
|
const rules3 = {
|
|
...r4[2]
|
|
};
|
|
rules3[r4[0]] = r4[1];
|
|
r2({
|
|
rules: rules3,
|
|
error: null
|
|
});
|
|
};
|
|
}
|
|
function $mk117375($env) {
|
|
return () => {
|
|
(0, $env.$parent[0])({
|
|
error: $env[3]
|
|
});
|
|
};
|
|
}
|
|
let c11782_8;
|
|
let env11782 = {};
|
|
const c11782_7 = {};
|
|
const withEqualityFn = createWithEqualityFn((a0, a1) => {
|
|
let env23113 = {
|
|
$parent: env11782
|
|
};
|
|
env23113[0] = a0;
|
|
env23113[1] = a1;
|
|
env23113[2] = async (c28371_0) => {
|
|
let convertToRulesByTriggerType2, c28371_2, c28371_3, c28371_5;
|
|
let c28371_4 = 0;
|
|
const r10 = env23113;
|
|
L13: {
|
|
try {
|
|
let env31042;
|
|
c28371_3 = r10;
|
|
const r28 = env31042 = {
|
|
$parent: r10
|
|
};
|
|
c28371_2 = r28;
|
|
env31042[0] = c28371_0;
|
|
env31042[1] = void 0;
|
|
env31042[2] = void 0;
|
|
env31042[3] = void 0;
|
|
if ((function isSyncNeeded(a0) {
|
|
const r6 = Date.now();
|
|
let r9 = c11782_7[a0];
|
|
if (r9 == null) {
|
|
r9 = 0;
|
|
}
|
|
return r6 - r9 > 20000;
|
|
})(c28371_0)) {
|
|
c11782_7[c28371_0] = Date.now();
|
|
c28371_4 = 1;
|
|
convertToRulesByTriggerType2 = function convertToRulesByTriggerType(a0) {
|
|
const r0 = {};
|
|
r0[AutomodTriggerType.KEYWORD] = [];
|
|
r0[AutomodTriggerType.ML_SPAM] = [];
|
|
r0[AutomodTriggerType.DEFAULT_KEYWORD_LIST] = [];
|
|
r0[AutomodTriggerType.MENTION_SPAM] = [];
|
|
r0[AutomodTriggerType.USER_PROFILE] = [];
|
|
r0[AutomodTriggerType.SERVER_POLICY] = [];
|
|
let c31825_0 = r0;
|
|
a0.forEach((item) => {
|
|
const r5 = c31825_0[item.triggerType];
|
|
if (r5 != null) {
|
|
r5.push(item);
|
|
}
|
|
});
|
|
return r0;
|
|
};
|
|
const automodRules = await fetchAutomodRules(c28371_0);
|
|
const r59 = c28371_2;
|
|
env31042[1] = convertToRulesByTriggerType2(automodRules);
|
|
env31042[2] = (0, env23113[1])().rules;
|
|
batchUpdates($mk117374(r59));
|
|
c28371_4 = 0;
|
|
break L13;
|
|
}
|
|
} catch ($e) {
|
|
const r26 = $e;
|
|
let r7 = r26;
|
|
c28371_5 = r26;
|
|
if (c28371_4 !== 0) {
|
|
while (true) {
|
|
try {
|
|
const r79 = c28371_2;
|
|
const r81 = c28371_5;
|
|
c28371_4 = 0;
|
|
env31042[4] = r81;
|
|
env31042[3] = new APIError(env31042[4]);
|
|
batchUpdates($mk117375(r79));
|
|
break L13;
|
|
} catch (r77) {
|
|
r7 = r77;
|
|
c28371_5 = r77;
|
|
if (c28371_4 === 0) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
throw r7;
|
|
}
|
|
return void 0;
|
|
}
|
|
};
|
|
return {
|
|
rules: {},
|
|
fetching: false,
|
|
error: null,
|
|
updateRule: (a0) => {
|
|
let c28369_6;
|
|
const { guildId, id, triggerType } = a0;
|
|
const rules = (0, env23113[1])().rules;
|
|
let r16 = rules[guildId];
|
|
if (r16 == null) {
|
|
r16 = {};
|
|
}
|
|
let c28369_5 = r16;
|
|
let r8 = r16[triggerType];
|
|
if (r8 == null) {
|
|
r8 = [];
|
|
}
|
|
const r19 = r8.some((item) => item.id === id);
|
|
const r22 = r8.filter((item) => {
|
|
const isDefaultRuleId = _SystemRulesUtils.isDefaultRuleId(item.id);
|
|
return isDefaultRuleId ? item.triggerType !== triggerType : !isDefaultRuleId;
|
|
});
|
|
c28369_6 = r19 ? r22.map((item) => item.id === id ? a0 : item) : [...r22, a0];
|
|
batchUpdates(() => {
|
|
const r2 = env23113[0];
|
|
const rules3 = {
|
|
...rules
|
|
};
|
|
const r10 = {
|
|
...c28369_5
|
|
};
|
|
r10[triggerType] = c28369_6;
|
|
rules3[guildId] = r10;
|
|
r2({
|
|
rules: rules3,
|
|
error: null
|
|
});
|
|
});
|
|
},
|
|
removeRule: (c28370_0, a1) => {
|
|
let c28370_1 = a1;
|
|
const rules2 = (0, env23113[1])().rules;
|
|
const r4 = rules2[a1];
|
|
let c28370_3 = r4;
|
|
let c28370_4 = Object.keys(r4).reduce((acc, a1) => {
|
|
const r7 = Number(a1);
|
|
let r5 = c28370_3[r7];
|
|
if (r5 == null) {
|
|
r5 = [];
|
|
}
|
|
acc[r7] = r5.filter((item) => item.id !== c28370_0);
|
|
return acc;
|
|
}, {});
|
|
batchUpdates(() => {
|
|
const r2 = env23113[0];
|
|
const rules3 = {
|
|
...rules2
|
|
};
|
|
rules3[c28370_1] = c28370_4;
|
|
r2({
|
|
rules: rules3,
|
|
error: null
|
|
});
|
|
});
|
|
},
|
|
syncRules: function() {
|
|
return env23113[2].apply(this, arguments);
|
|
}
|
|
};
|
|
});
|
|
c11782_8 = withEqualityFn;
|
|
export { withEqualityFn as useAutomodStore };
|
|
export function getRuleCountByTriggerType(a0, a1) {
|
|
const r4 = c11782_8.getState().rules[a0];
|
|
let r9 = r4 == null ? void 0 : r4[a1];
|
|
if (r9 == null) {
|
|
r9 = [];
|
|
}
|
|
return r9.length;
|
|
}
|
|
export function useSyncAutomodRules(a0) {
|
|
let env23112;
|
|
const r3 = env23112 = {};
|
|
env23112[0] = a0;
|
|
const r13 = _slicedToArray(useState(false), 2);
|
|
const r5 = r13[0];
|
|
env23112[1] = r13[1];
|
|
const r21 = _slicedToArray(c11782_8($mk99438(), shallow), 2);
|
|
const r22 = r21[0];
|
|
env23112[2] = r22;
|
|
const r23 = r21[1];
|
|
env23112[3] = r23;
|
|
return [r5, useCallback(_asyncToGenerator($mk99439(r3)), [a0, r23, r22])];
|
|
}
|
|
export function useSyncAutomodRulesEffect(a0) {
|
|
let env23115;
|
|
const r5 = env23115 = {};
|
|
env23115[0] = a0;
|
|
const r14 = _slicedToArray(useState(false), 2);
|
|
const r9 = r14[0];
|
|
env23115[1] = r14[1];
|
|
const r22 = _slicedToArray(c11782_8($mk99438(), shallow), 2);
|
|
const r23 = r22[0];
|
|
env23115[2] = r23;
|
|
const r24 = r22[1];
|
|
env23115[3] = r24;
|
|
const [r33, r34] = [r9, useCallback(_asyncToGenerator($mk99439(r5)), [a0, r24, r23])];
|
|
let c23114_0 = r34;
|
|
useEffect(() => {
|
|
(async () => {
|
|
await c23114_0();
|
|
})();
|
|
}, [a0, r34]);
|
|
return [r33, r34];
|
|
}
|
|
export function useAutomodRulesList(c23116_0) {
|
|
return c11782_8((a0) => {
|
|
const rules3 = a0.rules;
|
|
let r5 = c23116_0;
|
|
if (r5 == null) {
|
|
r5 = EMPTY_STRING_SNOWFLAKE_ID;
|
|
}
|
|
let rulesByTriggerType = rules3[r5];
|
|
if (rulesByTriggerType == null) {
|
|
rulesByTriggerType = {};
|
|
}
|
|
return {
|
|
rulesByTriggerType,
|
|
updateRule: a0.updateRule,
|
|
removeRule: a0.removeRule
|
|
};
|
|
}, shallow);
|
|
}
|