Files
discord-decomp/sources/modules/experiments/apex/ApexExperimentStore.tsx
T
2026-07-27 16:20:00 +03:00

200 lines
12 KiB
TypeScript

/* Metro module 1220; source: modules/experiments/apex/ApexExperimentStore.tsx; dependencies: [57, 6, 7, 15, 17, 18, 1221, 1226, 661, 694, 683, 4102, 2] */
function _fun13579(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#13579, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1347:6, offset: 0x00def65c, size: 301 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(57) /* metro dependency 57 */;
const env0_4 = importDefault(6) /* metro dependency 6 */;
const env0_5 = importDefault(7) /* metro dependency 7 */;
const env0_6 = importDefault(15) /* metro dependency 15 */;
const env0_7 = importDefault(17) /* metro dependency 17 */;
const env0_8 = importDefault(18) /* metro dependency 18 */;
let value = importDefault(1221) /* metro dependency 1221: BaseApexExperimentStore */;
const authenticationStore = importDefault(1226) /* metro dependency 1226: AuthenticationStore */;
const env0_10 = (require(661) /* metro dependency 661: Constants */).AnalyticEvents;
const ExperimentAssignment = (require(1221) /* metro dependency 1221: BaseApexExperimentStore */).ExperimentAssignment;
value = _fun13583(value);
value = new value();
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/experiments/apex/ApexExperimentStore.tsx');
exports.default = value;
exports.ExperimentAssignment = ExperimentAssignment;
}
function _isNativeReflectConstruct_13580() { // fn#13580, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1347:203, offset: 0x00def789, size: 94 bytes, params: 1, frame: 18
var Boolean;
var prototype;
var valueOf;
var call;
var Reflect;
var construct;
var closure;
var value;
var error;
try {
Boolean = global.Boolean;
prototype = Boolean.prototype;
valueOf = prototype.valueOf;
call = valueOf.call;
Reflect = global.Reflect;
construct = Reflect.construct;
Boolean = global.Boolean;
closure = function() {
};
value = Reflect.apply(construct, Reflect, [Boolean, [], closure]);
value = Reflect.apply(call, valueOf, [value]);
var result = !value;
} catch (error) {
}
return (_isNativeReflectConstruct_13580_isNativeReflectConstruct = function() {
return !!result;
})();
}
function _fun13583(a0) { // fn#13583, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1347:437, offset: 0x00def7e7, size: 139 bytes, params: 2, frame: 16
const closure = ApexExperimentStore;
env0_8(closure, a0);
return env0_5(closure, [{key: 'initialize', value: value_13601}, {key: 'maybeEmitDebugExperimentEvent',
value: value_13602}, {key: 'handleConnectionOpen', value: function(a0) {
return this.setExperimentAssignments(a0.apexExperiments, a0.guilds.reduce(_fun13604, {}));
}}, {key: 'handleGuildCreate', value: function(a0) {
var experiments = a0.guild.experiments;
if (experiments == null) {
return true;
}
return this.setGuildExperimentAssignments({[a0.guild.id]: experiments});
}}]);
}
function ApexExperimentStore() { // fn#13584, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1347:449, offset: 0x00def872, size: 374 bytes, params: 1, frame: 20
var environment;
let value = environment.__proto__;
env1_4(this, ApexExperimentStore);
const items2 = [importDefault(694) /* metro dependency 694: Dispatcher */];
items2[1] = {CONNECTION_OPEN: CONNECTION_OPEN_13585, CONNECTION_OPEN_STATE_UPDATE: CONNECTION_OPEN_STATE_UPDATE,
GUILD_CREATE: GUILD_CREATE_13587, APEX_EXPERIMENT_OVERRIDE_CREATE: APEX_EXPERIMENT_OVERRIDE_CREATE,
APEX_EXPERIMENT_OVERRIDE_DELETE: APEX_EXPERIMENT_OVERRIDE_DELETE,
APEX_EXPERIMENT_OVERRIDE_CLEAR: APEX_EXPERIMENT_OVERRIDE_CLEAR,
APEX_EXPERIMENT_SESSION_OVERRIDE_CREATE: APEX_EXPERIMENT_SESSION_OVERRIDE_CREATE,
APEX_EXPERIMENT_SESSION_OVERRIDE_DELETE: APEX_EXPERIMENT_SESSION_OVERRIDE_DELETE,
APEX_EXPERIMENT_CLEAR_FOR_TESTS: APEX_EXPERIMENT_CLEAR_FOR_TESTS,
APEX_EXPERIMENTS_METADATA_FETCH_SUCCESS: APEX_EXPERIMENTS_METADATA_FETCH_SUCCESS,
APEX_EXPERIMENTS_FETCH_START: APEX_EXPERIMENTS_FETCH_START,
APEX_EXPERIMENTS_FETCH_SUCCESS: APEX_EXPERIMENTS_FETCH_SUCCESS,
APEX_EXPERIMENTS_FETCH_FAILURE: APEX_EXPERIMENTS_FETCH_FAILURE, LOGOUT: LOGOUT_13598};
const DispatchBand = (require(694) /* metro dependency 694: Dispatcher */).DispatchBand;
const Early = DispatchBand.Early;
items2[2] = Early;
const value3 = env1_7(ApexExperimentStore);
value = env1_6(this, _isNativeReflectConstruct_13580() ? global.Reflect.construct(value3, items2,
env1_7(this).constructor) : value3.apply(this, items2));
value.track = function(a0) {
var r4;
var r6;
var value = copyRestArgs(0, r6);
var defaultImport = importDefault(dependencyMap[10]);
var track = defaultImport.track;
var items = [];
arraySpread(items, value, 0, r4);
return apply(track, items, defaultImport, r4);
};
value.surface = 'discord_app';
value.addChangeListener(_fun13600);
return value;
}
function value_13601(a0) { // fn#13601, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1347:1865, offset: 0x00defbda, size: 72 bytes, params: 2, frame: 14
const waitFor = this.waitFor;
let value = environment.__proto__;
Reflect.apply(waitFor, this, [AuthenticationStore]);
const loadStoredState = this.loadStoredState;
value = require(4102) /* metro dependency 4102: BuildOverrideUtils */;
value = value.getBuildOverrideExperiments();
Reflect.apply(loadStoredState, this, [a0, value]);
}
function value_13602() { // fn#13602, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1347:2001, offset: 0x00defc22, size: 179 bytes, params: 1, frame: 17
var defaultImport;
const evaluationAndAssignment = this.getEvaluationAndAssignment('user', AuthenticationStore.getId(),
'2026-03-debug-experiment');
const value4 = undefined;
const property = env1_3(evaluationAndAssignment, 2)[1];
const variantId = property == null ? value4 : property.variantId;
if (variantId == null) {
this.lastEmittedDebugVariantId = value4;
} else if (variantId !== 0) {
if (variantId !== this.lastEmittedDebugVariantId) {
this.lastEmittedDebugVariantId = variantId;
defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
defaultImport.track(AnalyticEvents.EXPERIMENT_APEX_DEBUGGING_EVENT,
{'experiment': '2026-03-debug-experiment',
'apex_debug_variant': null, 'experiment_location': 'apex_assignments_received',
apex_debug_variant: variantId});
}
} else {
this.lastEmittedDebugVariantId = value4;
}
return value4;
}
function value_13603({guilds, apexExperiments}) { // fn#13603, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1347:2459, offset: 0x00defcd5, size: 53 bytes, params: 2, frame: 15
return this.setExperimentAssignments(apexExperiments, guilds.reduce(function(a0, a1) {
if (a1.experiments != null) {
a0[a1.id] = a1.experiments;
}
return a0;
}, {}));
}
function CONNECTION_OPEN_STATE_UPDATE({apexExperiments}) { // fn#13586, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1347:765, owner: ApexExperimentStore.CONNECTION_OPEN_STATE_UPDATE, offset: 0x00def9ff, size: 29 bytes, params: 2, frame: 11
return env0_0.setExperimentAssignments(apexExperiments);
}
function APEX_EXPERIMENT_OVERRIDE_CREATE({experimentName, variantId}) { // fn#13588, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1347:885, owner: ApexExperimentStore.APEX_EXPERIMENT_OVERRIDE_CREATE, offset: 0x00defa33, size: 38 bytes, params: 2, frame: 13
return env0_0.createOverride(experimentName, variantId);
}
function APEX_EXPERIMENT_OVERRIDE_DELETE({experimentName}) { // fn#13589, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1347:967, owner: ApexExperimentStore.APEX_EXPERIMENT_OVERRIDE_DELETE, offset: 0x00defa59, size: 31 bytes, params: 2, frame: 11
return env0_0.deleteOverride(experimentName);
}
function APEX_EXPERIMENT_OVERRIDE_CLEAR() { // fn#13590, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1347:1036, owner: ApexExperimentStore.APEX_EXPERIMENT_OVERRIDE_CLEAR, offset: 0x00defa78, size: 19 bytes, params: 1, frame: 9
return env0_0.clearAllOverrides();
}
function APEX_EXPERIMENT_SESSION_OVERRIDE_CREATE({experimentName, variantId}) { // fn#13591, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1347:1102, owner: ApexExperimentStore.APEX_EXPERIMENT_SESSION_OVERRIDE_CREATE, offset: 0x00defa8b, size: 38 bytes, params: 2, frame: 13
return env0_0.createSessionOverride(experimentName, variantId);
}
function APEX_EXPERIMENT_SESSION_OVERRIDE_DELETE({experimentName}) { // fn#13592, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1347:1199, owner: ApexExperimentStore.APEX_EXPERIMENT_SESSION_OVERRIDE_DELETE, offset: 0x00defab1, size: 31 bytes, params: 2, frame: 11
return env0_0.deleteSessionOverride(experimentName);
}
function APEX_EXPERIMENT_CLEAR_FOR_TESTS() { // fn#13593, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1347:1276, owner: ApexExperimentStore.APEX_EXPERIMENT_CLEAR_FOR_TESTS, offset: 0x00defad0, size: 21 bytes, params: 1, frame: 9
return env0_0.clearForTests();
}
function APEX_EXPERIMENTS_METADATA_FETCH_SUCCESS({experiments}) { // fn#13594, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1347:1338, owner: ApexExperimentStore.APEX_EXPERIMENTS_METADATA_FETCH_SUCCESS, offset: 0x00defae5, size: 31 bytes, params: 2, frame: 11
return env0_0.setExperimentsMetadata(experiments);
}
function APEX_EXPERIMENTS_FETCH_START({unitId}) { // fn#13595, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1347:1410, owner: ApexExperimentStore.APEX_EXPERIMENTS_FETCH_START, offset: 0x00defb04, size: 31 bytes, params: 2, frame: 11
return env0_0.handleFetchStart(unitId);
}
function APEX_EXPERIMENTS_FETCH_SUCCESS({unitId, experiments}) { // fn#13596, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1347:1473, owner: ApexExperimentStore.APEX_EXPERIMENTS_FETCH_SUCCESS, offset: 0x00defb23, size: 38 bytes, params: 2, frame: 13
return env0_0.handleFetchSuccess(unitId, experiments);
}
function APEX_EXPERIMENTS_FETCH_FAILURE({unitId}) { // fn#13597, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1347:1552, owner: ApexExperimentStore.APEX_EXPERIMENTS_FETCH_FAILURE, offset: 0x00defb49, size: 31 bytes, params: 2, frame: 11
return env0_0.handleFetchFailure(unitId);
}
function ApexExperimentStoreLOGOUT({isSwitchingAccount}) { // fn#13598, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1347:1593, owner: ApexExperimentStore.LOGOUT, offset: 0x00defb68, size: 29 bytes, params: 2, frame: 11
return env0_0.handleLogout(isSwitchingAccount);
}
function _fun13600() { // fn#13600, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1347:1744, offset: 0x00defbc5, size: 21 bytes, params: 1, frame: 9
return env0_0.maybeEmitDebugExperimentEvent();
}