// 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); }