decord/source/modules/experiments/apex/ApexExperimentStore.tsx
2026-08-24 06:08:38 +00:00

127 lines
4.8 KiB
TypeScript

// Module ID: 1212
// Function ID: 1213
// Name: initialize
// Dependencies: [32, 1213, 1218, 676, 709, 698, 4294, 2]
// Module 1212 (initialize)
import expandEventPropertiesDefault from "expandEventProperties" /* 698 */;
import dispatcherDefault from "dispatcher" /* 709 */;
import _toPropertyKeyDefault from "_toPropertyKey" /* 1213 */;
import Version from "Version" /* 4294 */;
import closure_3 from "_slicedToArray" /* 32 */;
import closure_4 from "fetchFingerprint" /* 1218 */;
import { AnalyticEvents } from "ME" /* 676 */;
require = arg1;
_toPropertyKeyDefault;
class ApexExperimentStore extends tmp2 {
constructor() {
closure_0 = undefined;
tmp2 = require("dispatcher");
obj = {
CONNECTION_OPEN(arg0) {
return obj.handleConnectionOpen(arg0);
},
CONNECTION_OPEN_STATE_UPDATE(apexExperiments) {
return obj.setExperimentAssignments(apexExperiments.apexExperiments);
},
GUILD_CREATE(arg0) {
return obj.handleGuildCreate(arg0);
},
APEX_EXPERIMENT_OVERRIDE_CREATE(arg0) {
return obj.createOverride(tmp.experimentName, tmp.variantId);
},
APEX_EXPERIMENT_OVERRIDE_DELETE(experimentName) {
return obj.deleteOverride(experimentName.experimentName);
},
APEX_EXPERIMENT_OVERRIDE_CLEAR() {
return obj.clearAllOverrides();
},
APEX_EXPERIMENT_SESSION_OVERRIDE_CREATE(arg0) {
return obj.createSessionOverride(tmp.experimentName, tmp.variantId);
},
APEX_EXPERIMENT_SESSION_OVERRIDE_DELETE(experimentName) {
return obj.deleteSessionOverride(experimentName.experimentName);
},
APEX_EXPERIMENT_CLEAR_FOR_TESTS() {
return obj.clearForTests();
},
APEX_EXPERIMENTS_METADATA_FETCH_SUCCESS(experiments) {
return obj.setExperimentsMetadata(experiments.experiments);
},
APEX_EXPERIMENTS_FETCH_START(unitId) {
return obj.handleFetchStart(unitId.unitId);
},
APEX_EXPERIMENTS_FETCH_SUCCESS(arg0) {
return obj.handleFetchSuccess(tmp.unitId, tmp.experiments);
},
APEX_EXPERIMENTS_FETCH_FAILURE(unitId) {
return obj.handleFetchFailure(unitId.unitId);
},
LOGOUT(isSwitchingAccount) {
return obj.handleLogout(isSwitchingAccount.isSwitchingAccount);
}
};
tmp = new tmp(tmp2, obj, require("dispatcher").DispatchBand.Early, new.target, tmp, tmp2, obj, new.target);
// ThrowIfThisInitialized (0x7c)
closure_0 = tmp;
tmp.track = () => {
const items = [...arguments];
const items1 = [...items];
return callback(table[5]).track.apply(items1);
};
tmp.surface = "discord_app";
addChangeListenerResult = tmp.addChangeListener(() => obj.maybeEmitDebugExperimentEvent());
return tmp;
}
}
const prototype = ApexExperimentStore.prototype;
prototype["initialize"] = function initialize(version) {
this.waitFor(closure_4);
const storedState = this.loadStoredState(version, Version.getBuildOverrideExperiments());
};
prototype["maybeEmitDebugExperimentEvent"] = function maybeEmitDebugExperimentEvent() {
const self = this;
const tmp = callback(this.getEvaluationAndAssignment("user", id.getId(), "2026-03-debug-experiment"), 2)[1];
let variantId;
if (tmp != null) {
variantId = tmp.variantId;
}
if (null != variantId) {
if (0 !== variantId) {
if (variantId !== self.lastEmittedDebugVariantId) {
self.lastEmittedDebugVariantId = variantId;
let obj = expandEventPropertiesDefault;
obj = { experiment: "2026-03-debug-experiment", apex_debug_variant: null, experiment_location: "apex_assignments_received" };
obj[1] = variantId;
obj.track(AnalyticEvents.EXPERIMENT_APEX_DEBUGGING_EVENT, obj);
}
}
}
self.lastEmittedDebugVariantId = undefined;
};
prototype["handleConnectionOpen"] = function handleConnectionOpen(guilds) {
guilds = guilds.guilds;
return this.setExperimentAssignments(guilds.apexExperiments, guilds.reduce((arg0, experiments) => {
if (null != experiments.experiments) {
arg0[experiments.id] = experiments.experiments;
}
return arg0;
}, {}));
};
prototype["handleGuildCreate"] = function handleGuildCreate(guild) {
const experiments = guild.guild.experiments;
if (null == experiments) {
return true;
} else {
const self = this;
const obj = {};
obj[guild.guild.id] = experiments;
return this.setGuildExperimentAssignments(obj);
}
};
const apexExperimentStore = new ApexExperimentStore();
const result = require("set").fileFinishedImporting("modules/experiments/apex/ApexExperimentStore.tsx");
export default apexExperimentStore;
export const ExperimentAssignment = require("_toPropertyKey").ExperimentAssignment;