export function getFeatureStatus()

in packages/core/alfa-core/src/utils/index.ts [8:31]


export function getFeatureStatus(feature?: AlfaFeature) {
  const uid = getMainUid();
  const md5Uid = getMD5MainUid();

  if (!feature || !md5Uid) return false;

  const {
    enableBlockList, enableSampling, enableWhiteList, sampling, blockList, whiteList,
  } = feature;

  if (enableBlockList && blockList?.includes(md5Uid)) return false;

  if (enableWhiteList && whiteList?.includes(md5Uid)) return true;

  if (enableSampling && uid) {
    const gray = uid.substring(uid.length - 2);

    if (Number(gray) >= (sampling ?? 0) * 100 || sampling === 0) return false;

    return true;
  }

  return false;
}