// Module ID: 2027 // Function ID: 2028 // Name: UserSettingDefinitions // Dependencies: [1187, 1224, 1088, 558, 568, 504, 2028, 577, 2] // Exports: defineProtoSetting, wrapSettingWithExperimentDefaults, wrapSettingWithOverride, wrapSettingWithSelectiveSyncing // Module 2027 (UserSettingDefinitions) import initialize from "initialize" /* 504 */; import c from "c" /* 568 */; import DispatcherDefault from "Dispatcher" /* 577 */; import SelectivelySyncedUserSettingsStore from "SelectivelySyncedUserSettingsStore" /* 1187 */; import UserSettingsProtoStore from "UserSettingsProtoStore" /* 1224 */; require = fn; const UserSettingsDelay = fn(1088).UserSettingsDelay; const size = fn(2); const result = size.fileFinishedImporting("modules/user_settings/UserSettingDefinitions.tsx"); export const defineProtoSetting = function defineProtoSetting(textAndImages, activityRestrictedGuildIds, explicitContentFromProto, explicitContentToProto, arg4) { let getSetting = textAndImages; let f85481 = activityRestrictedGuildIds; dependencyMap = explicitContentFromProto; closure_3 = explicitContentToProto; let obj = arg4; if (arg4 === undefined) { obj = {}; } let INFREQUENT_USER_ACTION = obj.delay; if (INFREQUENT_USER_ACTION === undefined) { INFREQUENT_USER_ACTION = fn.INFREQUENT_USER_ACTION; } fn = obj.comparator; if (fn === undefined) { fn = function c(arg0, arg1) { return arg0 === arg1; }; } getSetting = function getSetting() { let tmp3; if (UserSettingsProtoStore.settings[getSetting] != null) { tmp3 = tmp2[f85481]; } return explicitContentFromProto(tmp3); }; const obj2 = getSetting(558); f85481 = (favorites) => { closure_0 = favorites; const PreloadedUserSettingsActionCreators = getSetting(explicitContentFromProto[6]).PreloadedUserSettingsActionCreators; return PreloadedUserSettingsActionCreators.updateAsync(closure_0, async (arg0) => { arg0[f85481] = closure_3(closure_0, arg0[f85481]); }, INFREQUENT_USER_ACTION); }; return { getSetting, updateSetting: (fn) => { let tmp2 = fn; if (typeof fn === "function") { tmp2 = fn(getSetting()); } return f85487(tmp2); }, useSetting: getSetting(558).isReactCompilerEnabled() ? (() => { const cResult = c.c(1); if (cResult[0] === Symbol.for("react.memo_cache_sentinel")) { const items = [UserSettingsProtoStore]; cResult[0] = items; let first = items; } else { first = cResult[0]; } return initialize.useStateFromStores(first, getSetting, undefined, fn); }) : (() => { const items = [UserSettingsProtoStore]; return initialize.useStateFromStores(items, getSetting, undefined, fn); }) }; }; export function wrapSettingWithSelectiveSyncing(UserSettingDefinitions, text, animateEmoji) { closure_2 = animateEmoji; function getSetting() { const tmp = SelectivelySyncedUserSettingsStore.getState()[f85484]; let setting; if (tmp != null) { setting = tmp.settings[closure_2]; } if (setting == null) { setting = getSetting.getSetting(); } return setting; } const f85484 = (arg0) => { if (SelectivelySyncedUserSettingsStore.shouldSync(f85484)) { let updateSettingResult = getSetting.updateSetting(arg0); } else { const obj2 = { type: "SELECTIVELY_SYNCED_USER_SETTINGS_UPDATE", changes: null }; const obj3 = {}; const obj4 = { settings: null }; const obj5 = {}; obj5[closure_2] = arg0; obj4.settings = obj5; obj3[f85484] = obj4; obj2.changes = obj3; DispatcherDefault.dispatch(obj2); updateSettingResult = Promise.resolve(); } return updateSettingResult; }; return { getSetting, useSetting() { const setting = getSetting.useSetting(); const items = [SelectivelySyncedUserSettingsStore]; let stateFromStores = initialize.useStateFromStores(items, () => { const tmp = state.getState()[closure_1_1]; let tmp2; if (tmp != null) { tmp2 = tmp.settings[animateEmoji]; } return tmp2; }); if (stateFromStores == null) { stateFromStores = setting; } return stateFromStores; }, updateSetting: (fn) => { let tmp2 = fn; if (typeof fn === "function") { tmp2 = fn(getSetting()); } return f85487(tmp2); } }; } export function wrapSettingWithOverride(UserSettingDefinitions, animateEmoji, arg2, arg3) { closure_2 = arg2; closure_3 = arg3; function getSetting() { let setting = closure_2(); if (setting == null) { setting = getSetting.getSetting(); } return setting; } const f85487 = (arg0) => { const obj2 = { type: "USER_SETTINGS_OVERRIDE_CLEAR", settings: null }; const items = [f85487]; obj2.settings = items; DispatcherDefault.dispatch(obj2); return getSetting.updateSetting(arg0); }; return { getSetting, useSetting() { const setting = getSetting.useSetting(); let tmp2 = closure_3(); if (tmp2 == null) { tmp2 = setting; } return tmp2; }, updateSetting: (fn) => { let tmp2 = fn; if (typeof fn === "function") { tmp2 = fn(getSetting()); } return f85487(tmp2); } }; } export const wrapSettingWithExperimentDefaults = function wrapSettingWithExperimentDefaults(arg0) { ({ baseSetting: require, isEligible: importDefault, useIsEligible: dependencyMap, eligibleDefault: SelectivelySyncedUserSettingsStore, ineligibleDefault: UserSettingsProtoStore, onUseDefault: UserSettingsDelay } = arg0); return { getSetting() { const setting = require.getSetting(); if (null != setting) { return setting; } else { if (UserSettingsDelay != null) { tmp2(); } if (importDefault()) { const tmp5 = SelectivelySyncedUserSettingsStore(); } } }, useSetting() { const setting = require.useSetting(); if (null != setting) { return setting; } else { if (UserSettingsDelay != null) { UserSettingsDelay(); } if (tmp2) { const tmp4 = SelectivelySyncedUserSettingsStore(); } } }, updateSetting(arg0) { return require.updateSetting(arg0); } }; };