@@ -470,45 +470,21 @@ def _typecheck_flag_value(value: typing.Any, flag_type: FlagType) -> None:
470470 raise TypeMismatchError (f"Expected type { _type } but got { type (value )} " )
471471
472472
473- class AsyncOpenFeatureClient :
474- def __init__ (
475- self ,
476- domain : typing .Optional [str ],
477- version : typing .Optional [str ],
478- context : typing .Optional [EvaluationContext ] = None ,
479- hooks : typing .Optional [typing .List [Hook ]] = None ,
480- ) -> None :
481- self .domain = domain
482- self .version = version
483- self .context = context or EvaluationContext ()
484- self .hooks = hooks or []
485-
486- @property
487- def provider (self ) -> FeatureProvider :
488- return provider_registry .get_provider (self .domain )
489-
490- def get_provider_status (self ) -> ProviderStatus :
491- return provider_registry .get_provider_status (self .provider )
492-
493- def get_metadata (self ) -> ClientMetadata :
494- return ClientMetadata (domain = self .domain )
495-
496- def add_hooks (self , hooks : typing .List [Hook ]) -> None :
497- self .hooks = self .hooks + hooks
498-
473+ class AsyncOpenFeatureClient (OpenFeatureClient ):
499474 async def get_boolean_value (
500475 self ,
501476 flag_key : str ,
502477 default_value : bool ,
503478 evaluation_context : typing .Optional [EvaluationContext ] = None ,
504479 flag_evaluation_options : typing .Optional [FlagEvaluationOptions ] = None ,
505480 ) -> bool :
506- return await self .get_boolean_value (
481+ details = await self .get_boolean_details (
507482 flag_key ,
508483 default_value ,
509484 evaluation_context ,
510485 flag_evaluation_options ,
511486 )
487+ return details .value
512488
513489 async def get_boolean_details (
514490 self ,
@@ -532,12 +508,13 @@ async def get_string_value(
532508 evaluation_context : typing .Optional [EvaluationContext ] = None ,
533509 flag_evaluation_options : typing .Optional [FlagEvaluationOptions ] = None ,
534510 ) -> str :
535- return await self .get_string_details (
511+ details = await self .get_string_details (
536512 flag_key ,
537513 default_value ,
538514 evaluation_context ,
539515 flag_evaluation_options ,
540- ).value
516+ )
517+ return details .value
541518
542519 async def get_string_details (
543520 self ,
@@ -561,12 +538,13 @@ async def get_integer_value(
561538 evaluation_context : typing .Optional [EvaluationContext ] = None ,
562539 flag_evaluation_options : typing .Optional [FlagEvaluationOptions ] = None ,
563540 ) -> int :
564- return await self .get_integer_details (
541+ details = await self .get_integer_details (
565542 flag_key ,
566543 default_value ,
567544 evaluation_context ,
568545 flag_evaluation_options ,
569- ).value
546+ )
547+ return details .value
570548
571549 async def get_integer_details (
572550 self ,
@@ -590,12 +568,13 @@ async def get_float_value(
590568 evaluation_context : typing .Optional [EvaluationContext ] = None ,
591569 flag_evaluation_options : typing .Optional [FlagEvaluationOptions ] = None ,
592570 ) -> float :
593- return await self .get_float_details (
571+ details = await self .get_float_details (
594572 flag_key ,
595573 default_value ,
596574 evaluation_context ,
597575 flag_evaluation_options ,
598- ).value
576+ )
577+ return details .value
599578
600579 async def get_float_details (
601580 self ,
@@ -619,12 +598,13 @@ async def get_object_value(
619598 evaluation_context : typing .Optional [EvaluationContext ] = None ,
620599 flag_evaluation_options : typing .Optional [FlagEvaluationOptions ] = None ,
621600 ) -> typing .Union [dict , list ]:
622- return await self .get_object_details (
601+ details = await self .get_object_details (
623602 flag_key ,
624603 default_value ,
625604 evaluation_context ,
626605 flag_evaluation_options ,
627- ).value
606+ )
607+ return details .value
628608
629609 async def get_object_details (
630610 self ,
@@ -844,9 +824,3 @@ async def _create_provider_evaluation(
844824 error_code = resolution .error_code ,
845825 error_message = resolution .error_message ,
846826 )
847-
848- def add_handler (self , event : ProviderEvent , handler : EventHandler ) -> None :
849- _event_support .add_client_handler (self , event , handler )
850-
851- def remove_handler (self , event : ProviderEvent , handler : EventHandler ) -> None :
852- _event_support .remove_client_handler (self , event , handler )
0 commit comments