Skip to content

Commit e868db2

Browse files
committed
ENG-1756: Remove type assertion on LEGACY_SOURCED_FEATURE_FLAG_KEYS
Declare the keys as a const tuple and derive the map's key type from it, so the array's type accurately describes its contents without an assertion.
1 parent f17cf3e commit e868db2

1 file changed

Lines changed: 7 additions & 6 deletions

File tree

apps/roam/src/components/settings/utils/accessors.ts

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -696,9 +696,14 @@ export const getFeatureFlags = (): FeatureFlags => {
696696
return bulkReadSettings().featureFlags;
697697
};
698698

699+
export const LEGACY_SOURCED_FEATURE_FLAG_KEYS = [
700+
"Enable left sidebar",
701+
] as const satisfies ReadonlyArray<keyof FeatureFlags>;
702+
699703
/* eslint-disable @typescript-eslint/naming-convention */
700-
const FEATURE_FLAG_LEGACY_MAP: Partial<
701-
Record<keyof FeatureFlags, () => boolean>
704+
const FEATURE_FLAG_LEGACY_MAP: Record<
705+
(typeof LEGACY_SOURCED_FEATURE_FLAG_KEYS)[number],
706+
() => boolean
702707
> = {
703708
"Enable left sidebar": () =>
704709
getUidAndBooleanSetting({
@@ -716,10 +721,6 @@ export const isNewSettingsStoreEnabled = (): boolean => {
716721
return getFeatureFlag("Use new settings store");
717722
};
718723

719-
export const LEGACY_SOURCED_FEATURE_FLAG_KEYS = Object.keys(
720-
FEATURE_FLAG_LEGACY_MAP,
721-
) as Array<keyof FeatureFlags>;
722-
723724
export const readAllLegacyFeatureFlags = (): Partial<FeatureFlags> => {
724725
const flags: Partial<FeatureFlags> = {};
725726
for (const [key, reader] of Object.entries(FEATURE_FLAG_LEGACY_MAP)) {

0 commit comments

Comments
 (0)