From 0ff31e486d570eedce8729fa1743bfa1b84d887f Mon Sep 17 00:00:00 2001 From: Bilawal Hameed Date: Mon, 30 Mar 2020 11:11:57 +0200 Subject: [PATCH] [core/api] store single instance of UserFlags --- packages/core/src/api/app/FeatureFlags.test.tsx | 4 ++++ packages/core/src/api/app/FeatureFlags.tsx | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/core/src/api/app/FeatureFlags.test.tsx b/packages/core/src/api/app/FeatureFlags.test.tsx index 727001b5e6..b145c3e52c 100644 --- a/packages/core/src/api/app/FeatureFlags.test.tsx +++ b/packages/core/src/api/app/FeatureFlags.test.tsx @@ -43,6 +43,7 @@ describe('FeatureFlags', () => { }), ); + featureFlags = new FeatureFlagsImpl(); expect(featureFlags.getFlags().toObject()).toMatchObject({ 'feature-flag-one': FeatureFlagState.Enabled, 'feature-flag-two': FeatureFlagState.Enabled, @@ -59,6 +60,8 @@ describe('FeatureFlags', () => { }), ); + featureFlags = new FeatureFlagsImpl(); + expect(featureFlags.getFlags().get('feature-flag-one')).toEqual( FeatureFlagState.Enabled, ); @@ -89,6 +92,7 @@ describe('FeatureFlags', () => { }), ); + featureFlags = new FeatureFlagsImpl(); const flags = featureFlags.getFlags(); flags.delete('feature-flag-one'); diff --git a/packages/core/src/api/app/FeatureFlags.tsx b/packages/core/src/api/app/FeatureFlags.tsx index d1f4ab1313..fcde669bdd 100644 --- a/packages/core/src/api/app/FeatureFlags.tsx +++ b/packages/core/src/api/app/FeatureFlags.tsx @@ -168,9 +168,10 @@ export class FeatureFlagsRegistry extends Array { */ export class FeatureFlags implements FeatureFlagsApi { public registeredFeatureFlags: FeatureFlagsRegistryItem[] = []; + private readonly userFlags: UserFlags = new UserFlags(); getFlags(): UserFlags { - return new UserFlags(); + return this.userFlags; } getRegisteredFlags(): FeatureFlagsRegistry {