decord/source/modules/user_settings/UserSettingDefinitions.tsx

198 lines
5.7 KiB
TypeScript
Raw Normal View History

2026-08-25 06:04:03 +00:00
// Module ID: 4074
// Function ID: 4075
2026-07-29 08:29:29 +00:00
// Name: defineProtoSetting
2026-08-11 06:20:06 +00:00
// Dependencies: [1303, 1340, 685, 1374, 589, 709, 2]
2026-07-20 16:05:17 +00:00
// Exports: defineProtoSetting, wrapSettingWithExperimentDefaults, wrapSettingWithOverride, wrapSettingWithSelectiveSyncing
2026-08-25 06:04:03 +00:00
// Module 4074 (defineProtoSetting)
2026-08-24 06:08:38 +00:00
import closure_3 from "initialize" /* 1303 */;
import closure_4 from "handleConnectionClosedOrResumed" /* 1340 */;
import { UserSettingsDelay } from "MAX_FAVORITES" /* 685 */;
2026-07-23 10:11:24 +00:00
const require = arg1;
2026-08-24 06:08:38 +00:00
const result = require("set").fileFinishedImporting("modules/user_settings/UserSettingDefinitions.tsx");
2026-07-20 16:05:17 +00:00
2026-07-23 10:11:24 +00:00
export const defineProtoSetting = function defineProtoSetting(textAndImages, activityRestrictedGuildIds, explicitContentFromProto, explicitContentToProto, set) {
2026-07-29 08:29:29 +00:00
let getSetting = textAndImages;
2026-08-25 06:04:03 +00:00
let f75157 = activityRestrictedGuildIds;
2026-08-24 06:08:38 +00:00
closure_2 = explicitContentFromProto;
closure_3 = explicitContentToProto;
2026-07-29 08:29:29 +00:00
let obj = set;
2026-07-23 10:11:24 +00:00
if (set === undefined) {
2026-07-20 16:05:17 +00:00
obj = {};
}
let INFREQUENT_USER_ACTION = obj.delay;
if (INFREQUENT_USER_ACTION === undefined) {
2026-07-23 10:11:24 +00:00
INFREQUENT_USER_ACTION = fn.INFREQUENT_USER_ACTION;
2026-07-20 16:05:17 +00:00
}
2026-07-23 10:11:24 +00:00
fn = obj.comparator;
2026-07-20 16:05:17 +00:00
if (fn === undefined) {
2026-07-29 08:29:29 +00:00
fn = function l(arg0, arg1) {
2026-07-20 16:05:17 +00:00
return arg0 === arg1;
};
}
2026-07-29 08:29:29 +00:00
getSetting = function getSetting() {
2026-07-20 16:05:17 +00:00
let tmp3;
2026-07-29 08:29:29 +00:00
if (INFREQUENT_USER_ACTION.settings[getSetting] != null) {
2026-08-25 06:04:03 +00:00
tmp3 = tmp2[f75157];
2026-07-20 16:05:17 +00:00
}
2026-07-23 10:11:24 +00:00
return closure_2(tmp3);
2026-07-29 08:29:29 +00:00
};
2026-07-20 16:05:17 +00:00
obj = {
getSetting,
2026-08-04 21:03:28 +00:00
updateSetting: (fn) => {
let tmp2 = fn;
if (typeof fn === "function") {
tmp2 = fn(getSetting());
2026-07-29 08:29:29 +00:00
}
2026-08-25 06:04:03 +00:00
return f75164(tmp2);
2026-07-29 08:29:29 +00:00
},
2026-07-20 16:05:17 +00:00
useSetting() {
const items = [INFREQUENT_USER_ACTION];
2026-07-29 08:29:29 +00:00
return getSetting(explicitContentFromProto[4]).useStateFromStores(items, getSetting, undefined, fn);
2026-07-20 16:05:17 +00:00
}
};
2026-08-25 06:04:03 +00:00
f75157 = (favorites) => {
2026-08-24 06:08:38 +00:00
closure_0 = favorites;
2026-07-29 08:29:29 +00:00
const PreloadedUserSettingsActionCreators = getSetting(explicitContentFromProto[3]).PreloadedUserSettingsActionCreators;
return PreloadedUserSettingsActionCreators.updateAsync(closure_0, (arg0) => {
2026-08-24 06:08:38 +00:00
arg0[closure_1_1] = closure_1_3(closure_0, arg0[closure_1_1]);
2026-07-29 08:29:29 +00:00
}, INFREQUENT_USER_ACTION);
};
2026-07-20 16:05:17 +00:00
return obj;
};
2026-07-29 08:29:29 +00:00
export function wrapSettingWithSelectiveSyncing(defineProtoSetting, text, animateEmoji) {
let getSetting = defineProtoSetting;
2026-08-25 06:04:03 +00:00
let f75161 = text;
2026-08-24 06:08:38 +00:00
closure_2 = animateEmoji;
2026-07-29 08:29:29 +00:00
getSetting = function getSetting() {
2026-08-25 06:04:03 +00:00
const tmp = closure_1_3.getState()[f75161];
2026-07-20 16:05:17 +00:00
let setting;
2026-07-29 08:29:29 +00:00
if (tmp != null) {
2026-07-20 16:05:17 +00:00
setting = tmp.settings[closure_2];
}
2026-07-29 08:29:29 +00:00
if (setting == null) {
setting = getSetting.getSetting();
2026-07-20 16:05:17 +00:00
}
return setting;
2026-07-29 08:29:29 +00:00
};
2026-08-25 06:04:03 +00:00
f75161 = (arg0) => {
if (closure_1_3.shouldSync(f75161)) {
2026-07-29 08:29:29 +00:00
let updateSettingResult = getSetting.updateSetting(arg0);
} else {
2026-08-25 06:04:03 +00:00
let obj = f75161(animateEmoji[5]);
2026-07-29 08:29:29 +00:00
obj = { type: "SELECTIVELY_SYNCED_USER_SETTINGS_UPDATE", changes: null };
obj = {};
2026-08-24 06:08:38 +00:00
obj1 = { settings: null };
2026-07-29 08:29:29 +00:00
const obj2 = {};
obj2[animateEmoji] = arg0;
obj1[0] = obj2;
2026-08-25 06:04:03 +00:00
obj[f75161] = obj1;
2026-07-29 08:29:29 +00:00
obj[1] = obj;
obj.dispatch(obj);
updateSettingResult = Promise.resolve();
}
return updateSettingResult;
};
2026-07-20 16:05:17 +00:00
return {
getSetting,
useSetting() {
2026-07-29 08:29:29 +00:00
const setting = getSetting.useSetting();
2026-08-24 06:08:38 +00:00
const items = [closure_1_3];
2026-07-29 08:29:29 +00:00
let stateFromStores = getSetting(animateEmoji[4]).useStateFromStores(items, () => {
2026-08-24 06:08:38 +00:00
const tmp = closure_1_3.getState()[closure_1];
2026-07-20 16:05:17 +00:00
let tmp2;
2026-07-29 08:29:29 +00:00
if (tmp != null) {
tmp2 = tmp.settings[closure_2];
2026-07-20 16:05:17 +00:00
}
return tmp2;
});
2026-07-29 08:29:29 +00:00
if (stateFromStores == null) {
stateFromStores = setting;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
return stateFromStores;
2026-07-20 16:05:17 +00:00
},
2026-08-04 21:03:28 +00:00
updateSetting: (fn) => {
let tmp2 = fn;
if (typeof fn === "function") {
tmp2 = fn(getSetting());
2026-07-20 16:05:17 +00:00
}
2026-08-25 06:04:03 +00:00
return f75164(tmp2);
2026-07-29 08:29:29 +00:00
}
2026-07-20 16:05:17 +00:00
};
2026-07-29 08:29:29 +00:00
}
export function wrapSettingWithOverride(defineProtoSetting, animateEmoji, arg2, arg3) {
let getSetting = defineProtoSetting;
2026-08-25 06:04:03 +00:00
let f75164 = animateEmoji;
2026-08-24 06:08:38 +00:00
closure_2 = arg2;
closure_3 = arg3;
2026-07-29 08:29:29 +00:00
getSetting = function getSetting() {
2026-07-23 10:11:24 +00:00
let setting = dependencyMap();
2026-07-29 08:29:29 +00:00
if (setting == null) {
setting = getSetting.getSetting();
2026-07-20 16:05:17 +00:00
}
return setting;
2026-07-29 08:29:29 +00:00
};
2026-08-25 06:04:03 +00:00
f75164 = (arg0) => {
const items = [f75164];
f75164(709).dispatch({ type: "USER_SETTINGS_OVERRIDE_CLEAR", settings: items });
2026-07-29 08:29:29 +00:00
return getSetting.updateSetting(arg0);
};
2026-07-20 16:05:17 +00:00
return {
getSetting,
useSetting() {
2026-07-29 08:29:29 +00:00
const setting = getSetting.useSetting();
let tmp2 = callback();
if (tmp2 == null) {
tmp2 = setting;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
return tmp2;
2026-07-20 16:05:17 +00:00
},
2026-08-04 21:03:28 +00:00
updateSetting: (fn) => {
let tmp2 = fn;
if (typeof fn === "function") {
tmp2 = fn(getSetting());
2026-07-29 08:29:29 +00:00
}
2026-08-25 06:04:03 +00:00
return f75164(tmp2);
2026-07-29 08:29:29 +00:00
}
2026-07-20 16:05:17 +00:00
};
2026-07-29 08:29:29 +00:00
}
2026-07-23 10:11:24 +00:00
export const wrapSettingWithExperimentDefaults = function wrapSettingWithExperimentDefaults(set) {
2026-08-24 06:08:38 +00:00
({ baseSetting: require, isEligible: importDefault, useIsEligible: dependencyMap, eligibleDefault: closure_3, ineligibleDefault: closure_4, onUseDefault: UserSettingsDelay } = set);
2026-07-20 16:05:17 +00:00
return {
getSetting() {
const setting = closure_0.getSetting();
if (null != setting) {
return setting;
} else {
2026-07-29 08:29:29 +00:00
if (closure_5 != null) {
tmp2();
2026-07-20 16:05:17 +00:00
}
if (callback()) {
2026-07-29 08:29:29 +00:00
let tmp5 = callback2();
2026-07-20 16:05:17 +00:00
} else {
2026-08-24 06:08:38 +00:00
tmp5 = closure_4;
2026-07-20 16:05:17 +00:00
}
}
},
useSetting() {
const setting = closure_0.useSetting();
if (null != setting) {
return setting;
} else {
2026-07-29 08:29:29 +00:00
if (callback3 != null) {
2026-07-20 16:05:17 +00:00
callback3();
}
if (tmp2) {
2026-07-29 08:29:29 +00:00
let tmp4 = callback2();
2026-07-20 16:05:17 +00:00
} else {
2026-08-24 06:08:38 +00:00
tmp4 = closure_4;
2026-07-20 16:05:17 +00:00
}
}
},
2026-07-29 08:29:29 +00:00
updateSetting(arg0) {
return closure_0.updateSetting(arg0);
2026-07-20 16:05:17 +00:00
}
};
};