react-abtest
Version:
A simple React and React Native AB test component.
29 lines (21 loc) • 768 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _utils = require('./utils');
var ExperimentUniqueIdWeighedVariable = function ExperimentUniqueIdWeighedVariable(_ref) {
var experimentName = _ref.experimentName,
uid = _ref.uid,
weights = _ref.weights,
logger = _ref.logger;
var hash = (0, _utils.createHash)(uid + experimentName);
var totWeight = (0, _utils.totalWeight)(weights);
var hashFloat = parseFloat('0.' + hash);
var rangeVal = (0, _utils.customRange)(hashFloat, 0.0, totWeight);
var variant = (0, _utils.getWeighedIndex)(weights, rangeVal);
if (logger && typeof logger === 'function') {
logger(variant);
}
return variant;
};
exports.default = ExperimentUniqueIdWeighedVariable;