@@ -30,7 +30,7 @@ export class TargetingFilter implements IFeatureFilter {
3030
3131 async evaluate ( context : TargetingFilterEvaluationContext , appContext ?: ITargetingContext ) : Promise < boolean > {
3232 const { featureName, parameters } = context ;
33- TargetingFilter . #validateParameters( parameters ) ;
33+ TargetingFilter . #validateParameters( featureName , parameters ) ;
3434
3535 if ( appContext === undefined ) {
3636 throw new Error ( "The app context is required for targeting filter." ) ;
@@ -79,15 +79,15 @@ export class TargetingFilter implements IFeatureFilter {
7979 return isTargetedPercentile ( appContext ?. userId , hint , 0 , parameters . Audience . DefaultRolloutPercentage ) ;
8080 }
8181
82- static #validateParameters( parameters : TargetingFilterParameters ) : void {
82+ static #validateParameters( featureName : string , parameters : TargetingFilterParameters ) : void {
8383 if ( parameters . Audience . DefaultRolloutPercentage < 0 || parameters . Audience . DefaultRolloutPercentage > 100 ) {
84- throw new Error ( " Audience.DefaultRolloutPercentage must be a number between 0 and 100." ) ;
84+ throw new Error ( `Invalid feature flag: ${ featureName } . Audience.DefaultRolloutPercentage must be a number between 0 and 100.` ) ;
8585 }
8686 // validate RolloutPercentage for each group
8787 if ( parameters . Audience . Groups !== undefined ) {
8888 for ( const group of parameters . Audience . Groups ) {
8989 if ( group . RolloutPercentage < 0 || group . RolloutPercentage > 100 ) {
90- throw new Error ( `RolloutPercentage of group ${ group . Name } must be a number between 0 and 100.` ) ;
90+ throw new Error ( `Invalid feature flag: ${ featureName } . RolloutPercentage of group ${ group . Name } must be a number between 0 and 100.` ) ;
9191 }
9292 }
9393 }
0 commit comments