🎨 Refactor code style for consistency and readability in feature flag composable

This commit is contained in:
2026-01-28 22:53:48 +00:00
parent 5151846a88
commit a736519d76

View File

@@ -15,7 +15,11 @@
import { ref, computed, readonly } from 'vue';
import { useAuth } from './useAuth.js';
import { FEATURE_FLAGS, getFlag, getFlagPermission } from '../config/feature-flags.js';
import {
FEATURE_FLAGS,
getFlag,
getFlagPermission
} from '../config/feature-flags.js';
// Local storage key for overrides
const LOCAL_OVERRIDES_KEY = 'feature_flag_overrides';
@@ -68,7 +72,7 @@ export function useFeatureFlags() {
* Checks in order: local override, permission requirement, default value
*/
const isEnabled = computed(() => {
return (flagName) => {
return flagName => {
// Check local override first
if (flagName in localOverrides.value) {
return localOverrides.value[flagName];
@@ -100,15 +104,16 @@ export function useFeatureFlags() {
* Toggle a flag override (dev mode only)
* Only works in development mode
*/
const toggle = (flagName) => {
const toggle = flagName => {
if (process.env.NODE_ENV !== 'development') {
console.warn('Feature flag overrides only available in development mode');
return false;
}
const current = localOverrides.value[flagName] !== undefined
const current =
localOverrides.value[flagName] !== undefined
? localOverrides.value[flagName]
: getFlag(flagName)?.enabled ?? false;
: (getFlag(flagName)?.enabled ?? false);
localOverrides.value[flagName] = !current;
saveLocalOverrides(localOverrides.value);
@@ -119,7 +124,7 @@ export function useFeatureFlags() {
/**
* Reset a specific flag override
*/
const reset = (flagName) => {
const reset = flagName => {
if (process.env.NODE_ENV !== 'development') {
console.warn('Feature flag overrides only available in development mode');
return;
@@ -153,7 +158,8 @@ export function useFeatureFlags() {
hasOverride: flag.name in localOverrides.value,
override: localOverrides.value[flag.name],
requiresPermission: !!flag.requiredPermission,
hasPermission: !flag.requiredPermission || hasPermission(flag.requiredPermission)
hasPermission:
!flag.requiredPermission || hasPermission(flag.requiredPermission)
}));
};
});
@@ -162,7 +168,7 @@ export function useFeatureFlags() {
* Set flags from backend response
* Called after fetching flags from backend
*/
const setBackendFlags = (flags) => {
const setBackendFlags = flags => {
backendFlags.value = flags;
};