decord/source/modules/user_settings/UserSettingDefinitions.tsx
2026-08-13 07:00:46 +00:00

203 lines
5.9 KiB
TypeScript

// Module ID: 4038
// Function ID: 4039
// Name: defineProtoSetting
// Dependencies: [1303, 1340, 685, 1374, 589, 709, 2]
// Exports: defineProtoSetting, wrapSettingWithExperimentDefaults, wrapSettingWithOverride, wrapSettingWithSelectiveSyncing
// Module 4038 (defineProtoSetting)
import initialize from "initialize";
import handleConnectionClosedOrResumed from "handleConnectionClosedOrResumed";
import { UserSettingsDelay } from "MAX_FAVORITES";
const require = arg1;
const result = require("MAX_FAVORITES").fileFinishedImporting("modules/user_settings/UserSettingDefinitions.tsx");
export const defineProtoSetting = function defineProtoSetting(textAndImages, activityRestrictedGuildIds, explicitContentFromProto, explicitContentToProto, set) {
let getSetting = textAndImages;
let f74241 = activityRestrictedGuildIds;
let closure_2 = explicitContentFromProto;
let initialize = explicitContentToProto;
let obj = set;
if (set === 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 l(arg0, arg1) {
return arg0 === arg1;
};
}
getSetting = function getSetting() {
let tmp3;
if (INFREQUENT_USER_ACTION.settings[getSetting] != null) {
tmp3 = tmp2[f74241];
}
return closure_2(tmp3);
};
obj = {
getSetting,
updateSetting: (fn) => {
let tmp2 = fn;
if (typeof fn === "function") {
tmp2 = fn(getSetting());
}
return f74248(tmp2);
},
useSetting() {
const items = [INFREQUENT_USER_ACTION];
return getSetting(explicitContentFromProto[4]).useStateFromStores(items, getSetting, undefined, fn);
}
};
f74241 = (favorites) => {
let closure_0 = favorites;
const PreloadedUserSettingsActionCreators = getSetting(explicitContentFromProto[3]).PreloadedUserSettingsActionCreators;
return PreloadedUserSettingsActionCreators.updateAsync(closure_0, (arg0) => {
arg0[outer1_1] = outer1_3(closure_0, arg0[outer1_1]);
}, INFREQUENT_USER_ACTION);
};
return obj;
};
export function wrapSettingWithSelectiveSyncing(defineProtoSetting, text, animateEmoji) {
let getSetting = defineProtoSetting;
let f74245 = text;
let closure_2 = animateEmoji;
getSetting = function getSetting() {
const tmp = outer1_3.getState()[f74245];
let setting;
if (tmp != null) {
setting = tmp.settings[closure_2];
}
if (setting == null) {
setting = getSetting.getSetting();
}
return setting;
};
f74245 = (arg0) => {
if (outer1_3.shouldSync(f74245)) {
let updateSettingResult = getSetting.updateSetting(arg0);
} else {
let obj = f74245(animateEmoji[5]);
obj = { type: "SELECTIVELY_SYNCED_USER_SETTINGS_UPDATE", changes: null };
obj = {};
const obj1 = { settings: null };
const obj2 = {};
obj2[animateEmoji] = arg0;
obj1[0] = obj2;
obj[f74245] = obj1;
obj[1] = obj;
obj.dispatch(obj);
updateSettingResult = Promise.resolve();
}
return updateSettingResult;
};
return {
getSetting,
useSetting() {
const setting = getSetting.useSetting();
const items = [outer1_3];
let stateFromStores = getSetting(animateEmoji[4]).useStateFromStores(items, () => {
const tmp = outer1_3.getState()[closure_1];
let tmp2;
if (tmp != null) {
tmp2 = tmp.settings[closure_2];
}
return tmp2;
});
if (stateFromStores == null) {
stateFromStores = setting;
}
return stateFromStores;
},
updateSetting: (fn) => {
let tmp2 = fn;
if (typeof fn === "function") {
tmp2 = fn(getSetting());
}
return f74248(tmp2);
}
};
}
export function wrapSettingWithOverride(defineProtoSetting, animateEmoji, arg2, arg3) {
let getSetting = defineProtoSetting;
let f74248 = animateEmoji;
let closure_2 = arg2;
let initialize = arg3;
getSetting = function getSetting() {
let setting = dependencyMap();
if (setting == null) {
setting = getSetting.getSetting();
}
return setting;
};
f74248 = (arg0) => {
const items = [f74248];
f74248(709).dispatch({ type: "USER_SETTINGS_OVERRIDE_CLEAR", settings: items });
return getSetting.updateSetting(arg0);
};
return {
getSetting,
useSetting() {
const setting = getSetting.useSetting();
let tmp2 = callback();
if (tmp2 == null) {
tmp2 = setting;
}
return tmp2;
},
updateSetting: (fn) => {
let tmp2 = fn;
if (typeof fn === "function") {
tmp2 = fn(getSetting());
}
return f74248(tmp2);
}
};
}
export const wrapSettingWithExperimentDefaults = function wrapSettingWithExperimentDefaults(set) {
let UserSettingsDelay;
let initialize;
let handleConnectionClosedOrResumed;
let dependencyMap;
let importDefault;
let require;
({ baseSetting: require, isEligible: importDefault, useIsEligible: dependencyMap, eligibleDefault: initialize, ineligibleDefault: handleConnectionClosedOrResumed, onUseDefault: UserSettingsDelay } = set);
return {
getSetting() {
const setting = closure_0.getSetting();
if (null != setting) {
return setting;
} else {
if (closure_5 != null) {
tmp2();
}
if (callback()) {
let tmp5 = callback2();
} else {
tmp5 = handleConnectionClosedOrResumed;
}
}
},
useSetting() {
const setting = closure_0.useSetting();
if (null != setting) {
return setting;
} else {
if (callback3 != null) {
callback3();
}
if (tmp2) {
let tmp4 = callback2();
} else {
tmp4 = handleConnectionClosedOrResumed;
}
}
},
updateSetting(arg0) {
return closure_0.updateSetting(arg0);
}
};
};