From ac8c5edbb060e7092af770c0b690c8409b780360 Mon Sep 17 00:00:00 2001 From: Zhiyuan Liang Date: Mon, 11 Aug 2025 11:22:20 +0800 Subject: [PATCH] unify filename convention --- src/feature-management/src/featureManager.ts | 11 +++++------ src/feature-management/src/featureProvider.ts | 14 +------------- .../{FeatureFilter.ts => featureFilter.ts} | 0 .../{TargetingFilter.ts => targetingFilter.ts} | 2 +- ...TimeWindowFilter.ts => timeWindowFilter.ts} | 2 +- src/feature-management/src/index.ts | 5 +++-- .../src/{IFeatureManager.ts => models.ts} | 18 ++++++++++++++++-- .../src/variant/{Variant.ts => variant.ts} | 0 8 files changed, 27 insertions(+), 25 deletions(-) rename src/feature-management/src/filter/{FeatureFilter.ts => featureFilter.ts} (100%) rename src/feature-management/src/filter/{TargetingFilter.ts => targetingFilter.ts} (98%) rename src/feature-management/src/filter/{TimeWindowFilter.ts => timeWindowFilter.ts} (95%) rename src/feature-management/src/{IFeatureManager.ts => models.ts} (63%) rename src/feature-management/src/variant/{Variant.ts => variant.ts} (100%) diff --git a/src/feature-management/src/featureManager.ts b/src/feature-management/src/featureManager.ts index 69fc6cb..340ea11 100644 --- a/src/feature-management/src/featureManager.ts +++ b/src/feature-management/src/featureManager.ts @@ -1,13 +1,12 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { TimeWindowFilter } from "./filter/TimeWindowFilter.js"; -import { IFeatureFilter } from "./filter/FeatureFilter.js"; +import { TimeWindowFilter } from "./filter/timeWindowFilter.js"; +import { IFeatureFilter } from "./filter/featureFilter.js"; import { FeatureFlag, RequirementType, VariantDefinition } from "./schema/model.js"; -import { IFeatureFlagProvider } from "./featureProvider.js"; -import { TargetingFilter } from "./filter/TargetingFilter.js"; -import { Variant } from "./variant/Variant.js"; -import { IFeatureManager } from "./IFeatureManager.js"; +import { IFeatureFlagProvider, IFeatureManager } from "./models.js"; +import { TargetingFilter } from "./filter/targetingFilter.js"; +import { Variant } from "./variant/variant.js"; import { ITargetingContext, ITargetingContextAccessor } from "./common/targetingContext.js"; import { isTargetedGroup, isTargetedPercentile, isTargetedUser } from "./common/targetingEvaluator.js"; diff --git a/src/feature-management/src/featureProvider.ts b/src/feature-management/src/featureProvider.ts index d29eade..abd057b 100644 --- a/src/feature-management/src/featureProvider.ts +++ b/src/feature-management/src/featureProvider.ts @@ -3,21 +3,9 @@ import { IGettable } from "./gettable.js"; import { FeatureFlag, FeatureManagementConfiguration, FEATURE_MANAGEMENT_KEY, FEATURE_FLAGS_KEY } from "./schema/model.js"; +import { IFeatureFlagProvider } from "./models.js"; import { validateFeatureFlag } from "./schema/validator.js"; -export interface IFeatureFlagProvider { - /** - * Get all feature flags. - */ - getFeatureFlags(): Promise; - - /** - * Get a feature flag by name. - * @param featureName The name of the feature flag. - */ - getFeatureFlag(featureName: string): Promise; -} - /** * A feature flag provider that uses a map-like configuration to provide feature flags. */ diff --git a/src/feature-management/src/filter/FeatureFilter.ts b/src/feature-management/src/filter/featureFilter.ts similarity index 100% rename from src/feature-management/src/filter/FeatureFilter.ts rename to src/feature-management/src/filter/featureFilter.ts diff --git a/src/feature-management/src/filter/TargetingFilter.ts b/src/feature-management/src/filter/targetingFilter.ts similarity index 98% rename from src/feature-management/src/filter/TargetingFilter.ts rename to src/feature-management/src/filter/targetingFilter.ts index eb4b73d..638647f 100644 --- a/src/feature-management/src/filter/TargetingFilter.ts +++ b/src/feature-management/src/filter/targetingFilter.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { IFeatureFilter } from "./FeatureFilter.js"; +import { IFeatureFilter } from "./featureFilter.js"; import { isTargetedPercentile } from "../common/targetingEvaluator.js"; import { ITargetingContext, ITargetingContextAccessor } from "../common/targetingContext.js"; diff --git a/src/feature-management/src/filter/TimeWindowFilter.ts b/src/feature-management/src/filter/timeWindowFilter.ts similarity index 95% rename from src/feature-management/src/filter/TimeWindowFilter.ts rename to src/feature-management/src/filter/timeWindowFilter.ts index beb0136..90d310a 100644 --- a/src/feature-management/src/filter/TimeWindowFilter.ts +++ b/src/feature-management/src/filter/timeWindowFilter.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { IFeatureFilter } from "./FeatureFilter.js"; +import { IFeatureFilter } from "./featureFilter.js"; // [Start, End) type TimeWindowParameters = { diff --git a/src/feature-management/src/index.ts b/src/feature-management/src/index.ts index 093d3fd..2a508d3 100644 --- a/src/feature-management/src/index.ts +++ b/src/feature-management/src/index.ts @@ -2,8 +2,9 @@ // Licensed under the MIT license. export { FeatureManager, FeatureManagerOptions, EvaluationResult, VariantAssignmentReason } from "./featureManager.js"; -export { ConfigurationMapFeatureFlagProvider, ConfigurationObjectFeatureFlagProvider, IFeatureFlagProvider } from "./featureProvider.js"; +export { IFeatureFlagProvider, IFeatureManager } from "./models.js"; +export { ConfigurationMapFeatureFlagProvider, ConfigurationObjectFeatureFlagProvider } from "./featureProvider.js"; export { createFeatureEvaluationEventProperties } from "./telemetry/featureEvaluationEvent.js"; -export { IFeatureFilter } from "./filter/FeatureFilter.js"; +export { IFeatureFilter } from "./filter/featureFilter.js"; export { ITargetingContext, ITargetingContextAccessor } from "./common/targetingContext.js"; export { VERSION } from "./version.js"; diff --git a/src/feature-management/src/IFeatureManager.ts b/src/feature-management/src/models.ts similarity index 63% rename from src/feature-management/src/IFeatureManager.ts rename to src/feature-management/src/models.ts index f982a6c..ee7f3af 100644 --- a/src/feature-management/src/IFeatureManager.ts +++ b/src/feature-management/src/models.ts @@ -1,8 +1,9 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { ITargetingContext } from "./common/targetingContext"; -import { Variant } from "./variant/Variant"; +import { ITargetingContext } from "./common/targetingContext.js"; +import { FeatureFlag } from "./schema/model.js"; +import { Variant } from "./variant/variant.js"; export interface IFeatureManager { /** @@ -24,3 +25,16 @@ export interface IFeatureManager { */ getVariant(featureName: string, context: ITargetingContext): Promise; } + +export interface IFeatureFlagProvider { + /** + * Get all feature flags. + */ + getFeatureFlags(): Promise; + + /** + * Get a feature flag by name. + * @param featureName The name of the feature flag. + */ + getFeatureFlag(featureName: string): Promise; +} diff --git a/src/feature-management/src/variant/Variant.ts b/src/feature-management/src/variant/variant.ts similarity index 100% rename from src/feature-management/src/variant/Variant.ts rename to src/feature-management/src/variant/variant.ts