decord/beta/source/utils/ExperimentUtils.tsx
2026-10-12 16:32:48 +00:00

138 lines
3.9 KiB
TypeScript

// Module ID: 8143
// Function ID: 8144
// Name: ExperimentUtils
// Dependencies: [32, 5016, 5017, 5021, 12, 2]
// Module 8143 (ExperimentUtils)
import _modDef12 from "module_12" /* 12 */;
import ExperimentManager from "ExperimentManager" /* 5021 */;
import _slicedToArray from "_slicedToArray" /* 32 */;
import ExperimentStore from "ExperimentStore" /* 5016 */;
import ExperimentConstants from "ExperimentConstants" /* 5017 */;
import size from "module_2" /* 2 */;
let hasOwnProperty;
let metroRequire;
function getFirstEligibleUserExperiment(arg0) {
const iter = arg0[Symbol.iterator]();
const nextResult = iter.next();
while (iter !== undefined) {
let tmp2 = nextResult;
let userExperimentDescriptor = ExperimentStore.getUserExperimentDescriptor(nextResult);
if (null != userExperimentDescriptor) {
let items = [tmp2, userExperimentDescriptor];
iter.return();
return items;
}
}
return null;
}
({ ExperimentTypes: hasOwnProperty, ExperimentBuckets: metroRequire } = ExperimentConstants);
let obj = {
getFirstEligibleUserExperiment,
isInExperimentBucket(id, arg1) {
return ExperimentStore.getUserExperimentBucket(id) === arg1;
},
experimentDescriptorEquals(type, type2) {
if (null == type) {
if (null == type2) {
return true;
}
}
if (type === type2) {
return true;
} else {
if (null == type) {
if (null != type2) {
return false;
}
}
if (null != type) {
if (null == type2) {
return false;
}
}
if (null != type) {
if (null != type2) {
if (type.type !== type2.type) {
return false;
} else if (type.bucket !== type2.bucket) {
return false;
} else if (type.revision !== type2.revision) {
return false;
} else if (type.type === hasOwnProperty.USER) {
if (type2.type === tmp.USER) {
const obj = _modDef12;
return obj.isEqual(type.context, type2.context);
}
}
}
}
return true;
}
},
trackExposureToFirstEligibleUserExperiment(arg0) {
const tmp = getFirstEligibleUserExperiment(arg0);
if (null != tmp) {
const tmp3 = _slicedToArray(tmp, 2);
const first = tmp3[0];
const obj = ExperimentManager;
const result = obj.trackExposureToExperiment(first, tmp5);
return tmp3[1];
}
},
getExperimentBucketName(bucket) {
let str = "Control";
if (bucket !== metroRequire.CONTROL) {
let str2 = "Not Eligible";
if (bucket !== metroRequire.NOT_ELIGIBLE) {
const _HermesInternal = HermesInternal;
str2 = "Treatment " + bucket;
}
str = str2;
}
return str;
},
getRecentExperimentBuckets(arg0, arg1) {
let closure_0 = arg1;
const entries = Object.entries(arg0);
return entries.reduce((acc, item) => {
let tmp;
let tmp2;
function isRecentExperiment(str, arg1) {
let tmp4;
let tmp5;
try {
[tmp4, tmp5] = closure_1_3(str.split("-"), 2);
closure_1_3(str.split("-"), 2);
const arr = tmp5;
if (null == tmp5) {
return false;
} else {
const _Date = Date;
const _HermesInternal = HermesInternal;
const self = this;
const self2 = this;
const date = new Date("" + tmp4 + "-" + arr.slice(0, 2) + "-01");
return date > arg1;
}
} catch (err) {
return false;
}
}
[tmp, tmp2] = item;
let tmp3 = isRecentExperiment(tmp, closure_0);
if (tmp3) {
const tmp4 = metroRequire;
tmp3 = tmp2 > metroRequire.CONTROL;
}
if (tmp3) {
acc[tmp] = tmp2;
}
return acc;
}, {});
}
};
let result = size.fileFinishedImporting("utils/ExperimentUtils.tsx");
export default obj;