@shopgate/engage
Version:
Shopgate's ENGAGE library.
11 lines • 1.02 kB
JavaScript
import{themeName,shopNumber}from'@shopgate/pwa-common/helpers/config';import{isDev}from'@shopgate/engage/core/helpers';var STORE_KEY_PREFIX="sgFeatureFlag_".concat(shopNumber,"_").concat(themeName,"__");/**
* @param {string} key key
* @returns {string}
*/export function getFeatureFlag(key){return window.localStorage.getItem("".concat(STORE_KEY_PREFIX).concat(key));}/**
* @param {string} key key
*/export function setABFeatureFlag(key){var hasFlag=getFeatureFlag(key);// flag is already set for user
if(hasFlag!==null){return;}var random=Math.round(Math.random()*100+1);window.localStorage.setItem("".concat(STORE_KEY_PREFIX).concat(key),random);}/**
* @param {string} key Key
* @param {number} percentage percentage for how many users the flag should be set
* @returns {boolean}
*/export function isFeatureEnabled(key){var percentage=arguments.length>1&&arguments[1]!==undefined?arguments[1]:10;if(isDev){return true;}var featureFlagRandomNumber=getFeatureFlag(key);return featureFlagRandomNumber<=percentage;}