@usebool/sdk-vue
Version:
Vue SDK for Bool feature flag system
24 lines • 1.01 kB
JavaScript
import { ref, watch } from 'vue';
import { useStore } from './useStore.js';
export const useHasFeature = (featureKey) => {
const { client, flags, status } = useStore();
const feature = ref(flags.value.find((flag) => flag.key === featureKey));
const featureValue = ref(feature.value?.value ?? false);
if (!client.value) {
console.error('Bool was used before it was initialised.');
}
else if (!flags.value.length && status.value === 'success') {
console.error("Something went wrong. It seems you don't have any feature flags.");
}
if (!feature.value && status.value === 'success') {
console.error(`A feature with key ${featureKey} was not found. Did you create it in your dashboard?`);
}
watch(flags, (value) => {
feature.value = value.find((flag) => flag.key === featureKey);
});
watch(feature, (value) => {
featureValue.value = value.value;
});
return featureValue;
};
//# sourceMappingURL=useHasFeature.js.map