From ed31476f040dda41f00c2c7f4324120afb20cc18 Mon Sep 17 00:00:00 2001 From: Josh Black Date: Mon, 6 May 2024 10:59:56 -0500 Subject: [PATCH] feat(FeatureFlags): broaden feature flag type to accept undefined (#4554) * feat(FeatureFlags): loosen feature flag type to accept undefined * chore: add changeset * Update .changeset/grumpy-coats-worry.md --------- Co-authored-by: Josh Black --- .changeset/grumpy-coats-worry.md | 5 +++++ packages/react/src/FeatureFlags/FeatureFlagScope.ts | 7 +++++-- 2 files changed, 10 insertions(+), 2 deletions(-) create mode 100644 .changeset/grumpy-coats-worry.md diff --git a/.changeset/grumpy-coats-worry.md b/.changeset/grumpy-coats-worry.md new file mode 100644 index 00000000000..584f41f81a0 --- /dev/null +++ b/.changeset/grumpy-coats-worry.md @@ -0,0 +1,5 @@ +--- +'@primer/react': minor +--- + +Broaden feature flag type for experimental FeatureFlags to accept undefined diff --git a/packages/react/src/FeatureFlags/FeatureFlagScope.ts b/packages/react/src/FeatureFlags/FeatureFlagScope.ts index 4aee95cf715..379c29a9e76 100644 --- a/packages/react/src/FeatureFlags/FeatureFlagScope.ts +++ b/packages/react/src/FeatureFlags/FeatureFlagScope.ts @@ -1,5 +1,5 @@ export type FeatureFlags = { - [key: string]: boolean + [key: string]: boolean | undefined } export class FeatureFlagScope { @@ -24,7 +24,10 @@ export class FeatureFlagScope { flags: Map constructor(flags: FeatureFlags = {}) { - this.flags = new Map(Object.entries(flags)) + this.flags = new Map() + for (const [key, value] of Object.entries(flags)) { + this.flags.set(key, value ?? false) + } } /**