diff --git a/packages/core/src/api/apis/definitions/featureFlags.ts b/packages/core/src/api/apis/definitions/featureFlags.ts index c3656ac4cd..dbebec643b 100644 --- a/packages/core/src/api/apis/definitions/featureFlags.ts +++ b/packages/core/src/api/apis/definitions/featureFlags.ts @@ -45,6 +45,11 @@ export type FeatureFlagsApi = { * Disable an registered feature flag. */ disable(name: FeatureFlagName): void; + + /** + * Toggle an registered feature flag on or off. + */ + toggle(name: FeatureFlagName): void; }; export const featureFlagsApiRef = new ApiRef({ diff --git a/packages/core/src/api/app/FeatureFlags.tsx b/packages/core/src/api/app/FeatureFlags.tsx index a5b0c7eaed..55558bfc1a 100644 --- a/packages/core/src/api/app/FeatureFlags.tsx +++ b/packages/core/src/api/app/FeatureFlags.tsx @@ -74,6 +74,10 @@ export class FeatureFlags { flags.delete(name); this.saveUserEnabledFeatureFlags(flags); } + + static toggle(name: FeatureFlagName): void { + (this.getItem(name) ? this.disable : this.enable).bind(this)(name); + } } /**