// Module ID: 2032 // Function ID: 2033 // Name: UserSettingDefinitions // Dependencies: [1194, 1231, 1095, 558, 576, 504, 2033, 584, 2] // Exports: defineProtoSetting, wrapSettingWithExperimentDefaults, wrapSettingWithOverride, wrapSettingWithSelectiveSyncing // Module 2032 (UserSettingDefinitions) import get_initialized from "get initialized" /* 504 */; import react from "react" /* 576 */; import UserSettingsConstants from "UserSettingsConstants" /* 1095 */; import SelectivelySyncedUserSettingsStore from "SelectivelySyncedUserSettingsStore" /* 1194 */; import UserSettingsProtoStore from "UserSettingsProtoStore" /* 1231 */; import size from "module_2" /* 2 */; const require = globalThis.__r; let _require, dependencyMap; const UserSettingsDelay = UserSettingsConstants.UserSettingsDelay; const result = size.fileFinishedImporting("modules/user_settings/UserSettingDefinitions.tsx"); export const defineProtoSetting = function defineProtoSetting(textAndImages, activityRestrictedGuildIds, explicitContentFromProto, explicitContentToProto, arg4) { let fn; _require = textAndImages; let closure_1 = activityRestrictedGuildIds; dependencyMap = explicitContentFromProto; let closure_3 = explicitContentToProto; let obj = arg4; if (arg4 === undefined) { obj = {}; } let INFREQUENT_USER_ACTION = obj.delay; if (INFREQUENT_USER_ACTION === undefined) { let tmp = fn; INFREQUENT_USER_ACTION = fn.INFREQUENT_USER_ACTION; } fn = obj.comparator; if (fn === undefined) { fn = function c(arg0, arg1) { return arg0 === arg1; }; } function getSetting() { let tmp3; const tmp = explicitContentFromProto; if (UserSettingsProtoStore.settings[textAndImages] != null) { tmp3 = tmp2[activityRestrictedGuildIds]; } return tmp(tmp3); } const obj2 = require("ReactCompilerGating"); const f85643 = (favorites) => { let closure_0 = favorites; const PreloadedUserSettingsActionCreators = getSetting(explicitContentFromProto[6]).PreloadedUserSettingsActionCreators; return PreloadedUserSettingsActionCreators.updateAsync(closure_0, async (arg0) => { arg0[f85643] = explicitContentToProto(favorites, arg0[f85643]); }, closure_4); }; const obj3 = { getSetting, updateSetting: (fn) => { let tmp2 = fn; const tmp = f85649; if (typeof fn === "function") { tmp2 = fn(getSetting()); } return tmp(tmp2); }, useSetting: obj2.isReactCompilerEnabled() ? (() => { let first; const obj = react; const cResult = obj.c(1); if (cResult[0] === Symbol.for("react.memo_cache_sentinel")) { const items = [UserSettingsProtoStore]; cResult[0] = items; first = items; } else { first = cResult[0]; } const tmpResult = get_initialized; return tmpResult.useStateFromStores(first, getSetting, undefined, fn); }) : (() => { const items = [UserSettingsProtoStore]; const obj = get_initialized; return obj.useStateFromStores(items, getSetting, undefined, fn); }) }; return obj3; }; export function wrapSettingWithSelectiveSyncing(UserSettingDefinitions, text, inlineAttachmentMedia) { let closure_1 = text; let closure_2 = inlineAttachmentMedia; function getSetting() { const tmp = SelectivelySyncedUserSettingsStore.getState()[importDefault]; let setting; if (tmp != null) { setting = tmp.settings[inlineAttachmentMedia]; } if (setting == null) { setting = UserSettingDefinitions.getSetting(); } return setting; } let obj = { getSetting, useSetting() { const setting = UserSettingDefinitions.useSetting(); const items = [SelectivelySyncedUserSettingsStore]; const obj = get_initialized; let stateFromStores = obj.useStateFromStores(items, () => { const tmp = SelectivelySyncedUserSettingsStore.getState()[closure_1_1]; let tmp2; if (tmp != null) { tmp2 = tmp.settings[inlineAttachmentMedia]; } return tmp2; }); if (stateFromStores == null) { stateFromStores = setting; } return stateFromStores; }, updateSetting: (fn) => { let tmp2 = fn; const tmp = f85649; if (typeof fn === "function") { tmp2 = fn(getSetting()); } return tmp(tmp2); } }; const f85646 = (arg0) => { let obj3; let obj5; let updateSettingResult; const tmp = f85646; if (SelectivelySyncedUserSettingsStore.shouldSync(f85646)) { updateSettingResult = getSetting.updateSetting(arg0); } else { const obj2 = { type: "SELECTIVELY_SYNCED_USER_SETTINGS_UPDATE", changes: obj3 }; obj3 = {}; const obj4 = { settings: obj5 }; obj5 = {}; obj5[closure_1_2] = arg0; obj3[tmp] = obj4; const obj = require("Dispatcher"); obj.dispatch(obj2); updateSettingResult = Promise.resolve(); } return updateSettingResult; }; return obj; } export function wrapSettingWithOverride(arg0, gifAutoPlay, arg2, arg3) { let closure_0 = arg0; let closure_1 = gifAutoPlay; let closure_2 = arg2; let closure_3 = arg3; function getSetting() { let setting = closure_2(); if (setting == null) { setting = closure_0.getSetting(); } return setting; } let obj = { getSetting, useSetting() { const setting = closure_0.useSetting(); let tmp2 = closure_3(); if (tmp2 == null) { tmp2 = setting; } return tmp2; }, updateSetting: (fn) => { let tmp2 = fn; const tmp = f85649; if (typeof fn === "function") { tmp2 = fn(getSetting()); } return tmp(tmp2); } }; const f85649 = (arg0) => { let items; const obj2 = { type: "USER_SETTINGS_OVERRIDE_CLEAR", settings: items }; items = [f85649]; const obj = gifAutoPlay(closure_2[7]); obj.dispatch(obj2); return getSetting.updateSetting(arg0); }; return obj; } export const wrapSettingWithExperimentDefaults = function wrapSettingWithExperimentDefaults(arg0) { let require; ({ baseSetting: require, isEligible: importDefault, useIsEligible: dependencyMap, eligibleDefault: SelectivelySyncedUserSettingsStore, ineligibleDefault: UserSettingsProtoStore, onUseDefault: UserSettingsDelay } = arg0); return { getSetting() { let setting = _require.getSetting(); if (null == setting) { let tmp5; if (UserSettingsDelay != null) { tmp2(); } if (importDefault()) { tmp5 = SelectivelySyncedUserSettingsStore(); } else { tmp5 = UserSettingsProtoStore; } setting = tmp5; } return setting; }, useSetting() { let setting = _require.useSetting(); if (null == setting) { let tmp4; if (UserSettingsDelay != null) { UserSettingsDelay(); } if (tmp2) { tmp4 = SelectivelySyncedUserSettingsStore(); } else { tmp4 = UserSettingsProtoStore; } setting = tmp4; } return setting; }, updateSetting(arg0) { return _require.updateSetting(arg0); } }; };