decord/source/modules/experiments/ExperimentEmbedUtils.tsx

75 lines
2.8 KiB
TypeScript
Raw Normal View History

2026-09-02 09:53:35 +00:00
// Module ID: 7643
// Function ID: 7644
2026-07-20 16:05:17 +00:00
// Name: regExp
2026-09-02 09:53:35 +00:00
// Dependencies: [4399, 7644, 7645, 2]
2026-07-20 16:05:17 +00:00
// Exports: getExperimentBuckets, getExperimentFromEmbedURL, getExperimentServerAssignmentLabel, getExperimentTreatmentFromEmbedURL, getURLForExperiment, isExperimentEmbedURL
2026-09-02 09:53:35 +00:00
// Module 7643 (regExp)
2026-08-24 06:08:38 +00:00
import set from "set" /* 2 */;
2026-09-01 10:26:29 +00:00
import trackExposureToExperiment from "trackExposureToExperiment" /* 4399 */;
2026-09-02 09:53:35 +00:00
import getFirstEligibleUserExperimentDefault from "getFirstEligibleUserExperiment" /* 7644 */;
import getExperimentVariantsForDevTools from "getExperimentVariantsForDevTools" /* 7645 */;
2026-08-24 06:08:38 +00:00
2026-07-20 16:05:17 +00:00
const regExp = new RegExp("^dev://experiment/([-\\w._0-9]+)(?:/([0-9]+))?$", "i");
2026-08-24 06:08:38 +00:00
const result = set.fileFinishedImporting("modules/experiments/ExperimentEmbedUtils.tsx");
2026-07-20 16:05:17 +00:00
export const EXPERIMENT_EMBED_URL_REGEX = regExp;
export const isExperimentEmbedURL = function isExperimentEmbedURL(target) {
return regExp.test(target);
};
export const getExperimentFromEmbedURL = function getExperimentFromEmbedURL(code) {
const match = code.match(regExp);
let tmp = null;
if (null != match) {
tmp = null;
if (match.length >= 2) {
tmp = match[1];
}
}
return tmp;
};
export const getExperimentTreatmentFromEmbedURL = function getExperimentTreatmentFromEmbedURL(code) {
const match = code.match(regExp);
let parsed = null;
if (null != match) {
parsed = null;
if (match.length >= 3) {
const _parseInt = parseInt;
parsed = parseInt(match[2], 10);
}
}
return parsed;
};
export const getURLForExperiment = function getURLForExperiment(id) {
if (null != arg1) {
const _HermesInternal2 = HermesInternal;
let combined = "dev://experiment/" + id + "/" + arg1;
} else {
const _HermesInternal = HermesInternal;
combined = "dev://experiment/" + id;
}
return combined;
};
export const getExperimentServerAssignmentLabel = function getExperimentServerAssignmentLabel(system, experimentServerAssignment) {
if (null != experimentServerAssignment) {
if (null != system) {
const system2 = system.system;
2026-08-24 06:08:38 +00:00
if (trackExposureToExperiment.ExperimentSystem.LEGACY === system2) {
return getFirstEligibleUserExperimentDefault.getExperimentBucketName(experimentServerAssignment.bucket);
2026-09-01 10:26:29 +00:00
} else if (tmp4(4399).ExperimentSystem.APEX === system2) {
2026-07-20 16:05:17 +00:00
const _HermesInternal = HermesInternal;
return "Variant " + experimentServerAssignment.variantId;
} else {
system = system.system;
return null;
}
2026-07-29 08:29:29 +00:00
tmp4 = require;
2026-07-20 16:05:17 +00:00
}
}
return null;
};
export const getExperimentBuckets = function getExperimentBuckets(experiment) {
2026-08-24 06:08:38 +00:00
const experimentVariantsForDevTools = getExperimentVariantsForDevTools.getExperimentVariantsForDevTools(experiment);
2026-07-20 16:05:17 +00:00
return experimentVariantsForDevTools.map((id) => ({ id: id.id, label: id.label, value: id.id }));
};