UNPKG

react-abtest

Version:

A simple React and React Native AB test component.

59 lines (46 loc) 1.51 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _propTypes = _interopRequireDefault(require("prop-types")); var _react = _interopRequireDefault(require("react")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } var ExperimentValueGroup = function ExperimentValueGroup(_ref) { var userGroup = _ref.userGroup, variants = _ref.variants, logger = _ref.logger; var VariantComponent = null; variants.some(function (variant, i) { if (typeof variant.group === 'number') { if (variant.group === userGroup) { VariantComponent = variant.component; if (logger && typeof logger === 'function') { logger(i); } return true; } } if (typeof variant.group === 'string') { var range = variant.group.split('-').map(function (num) { return parseInt(num, 10); }); if (userGroup >= range[0] && userGroup <= range[1]) { VariantComponent = variant.component; if (logger && typeof logger === 'function') { logger(i); } return true; } } return false; }); return VariantComponent || null; }; ExperimentValueGroup.propTypes = { userGroup: _propTypes["default"].number.isRequired, variants: _propTypes["default"].array.isRequired, logger: _propTypes["default"].func }; var _default = ExperimentValueGroup; exports["default"] = _default;