1
1
import logging
2
2
import typing
3
- from collections .abc import Awaitable , Sequence
3
+ from collections .abc import Awaitable , Mapping , Sequence
4
4
from dataclasses import dataclass
5
5
from itertools import chain
6
6
@@ -345,11 +345,11 @@ def get_object_value(
345
345
self ,
346
346
flag_key : str ,
347
347
default_value : typing .Union [
348
- Sequence [FlagValueType ], typing . Mapping [str , FlagValueType ]
348
+ Sequence [FlagValueType ], Mapping [str , FlagValueType ]
349
349
],
350
350
evaluation_context : typing .Optional [EvaluationContext ] = None ,
351
351
flag_evaluation_options : typing .Optional [FlagEvaluationOptions ] = None ,
352
- ) -> typing .Union [Sequence [FlagValueType ], typing . Mapping [str , FlagValueType ]]:
352
+ ) -> typing .Union [Sequence [FlagValueType ], Mapping [str , FlagValueType ]]:
353
353
return self .get_object_details (
354
354
flag_key ,
355
355
default_value ,
@@ -361,11 +361,11 @@ async def get_object_value_async(
361
361
self ,
362
362
flag_key : str ,
363
363
default_value : typing .Union [
364
- Sequence [FlagValueType ], typing . Mapping [str , FlagValueType ]
364
+ Sequence [FlagValueType ], Mapping [str , FlagValueType ]
365
365
],
366
366
evaluation_context : typing .Optional [EvaluationContext ] = None ,
367
367
flag_evaluation_options : typing .Optional [FlagEvaluationOptions ] = None ,
368
- ) -> typing .Union [Sequence [FlagValueType ], typing . Mapping [str , FlagValueType ]]:
368
+ ) -> typing .Union [Sequence [FlagValueType ], Mapping [str , FlagValueType ]]:
369
369
details = await self .get_object_details_async (
370
370
flag_key ,
371
371
default_value ,
@@ -378,12 +378,12 @@ def get_object_details(
378
378
self ,
379
379
flag_key : str ,
380
380
default_value : typing .Union [
381
- Sequence [FlagValueType ], typing . Mapping [str , FlagValueType ]
381
+ Sequence [FlagValueType ], Mapping [str , FlagValueType ]
382
382
],
383
383
evaluation_context : typing .Optional [EvaluationContext ] = None ,
384
384
flag_evaluation_options : typing .Optional [FlagEvaluationOptions ] = None ,
385
385
) -> FlagEvaluationDetails [
386
- typing .Union [Sequence [FlagValueType ], typing . Mapping [str , FlagValueType ]]
386
+ typing .Union [Sequence [FlagValueType ], Mapping [str , FlagValueType ]]
387
387
]:
388
388
return self .evaluate_flag_details (
389
389
FlagType .OBJECT ,
@@ -397,12 +397,12 @@ async def get_object_details_async(
397
397
self ,
398
398
flag_key : str ,
399
399
default_value : typing .Union [
400
- Sequence [FlagValueType ], typing . Mapping [str , FlagValueType ]
400
+ Sequence [FlagValueType ], Mapping [str , FlagValueType ]
401
401
],
402
402
evaluation_context : typing .Optional [EvaluationContext ] = None ,
403
403
flag_evaluation_options : typing .Optional [FlagEvaluationOptions ] = None ,
404
404
) -> FlagEvaluationDetails [
405
- typing .Union [Sequence [FlagValueType ], typing . Mapping [str , FlagValueType ]]
405
+ typing .Union [Sequence [FlagValueType ], Mapping [str , FlagValueType ]]
406
406
]:
407
407
return await self .evaluate_flag_details_async (
408
408
FlagType .OBJECT ,
@@ -472,7 +472,7 @@ def _establish_hooks_and_provider(
472
472
)
473
473
]
474
474
# after, error, finally: Provider, Invocation, Client, API
475
- reversed_merged_hooks_and_context = merged_hooks_and_context [:]
475
+ reversed_merged_hooks_and_context = merged_hooks_and_context . copy ()
476
476
reversed_merged_hooks_and_context .reverse ()
477
477
478
478
return (
@@ -567,10 +567,10 @@ async def evaluate_flag_details_async(
567
567
self ,
568
568
flag_type : FlagType ,
569
569
flag_key : str ,
570
- default_value : typing . Mapping [str , "FlagValueType" ],
570
+ default_value : Mapping [str , "FlagValueType" ],
571
571
evaluation_context : typing .Optional [EvaluationContext ] = None ,
572
572
flag_evaluation_options : typing .Optional [FlagEvaluationOptions ] = None ,
573
- ) -> FlagEvaluationDetails [typing . Mapping [str , "FlagValueType" ]]: ...
573
+ ) -> FlagEvaluationDetails [Mapping [str , "FlagValueType" ]]: ...
574
574
575
575
async def evaluate_flag_details_async (
576
576
self ,
@@ -743,10 +743,10 @@ def evaluate_flag_details(
743
743
self ,
744
744
flag_type : FlagType ,
745
745
flag_key : str ,
746
- default_value : typing . Mapping [str , "FlagValueType" ],
746
+ default_value : Mapping [str , "FlagValueType" ],
747
747
evaluation_context : typing .Optional [EvaluationContext ] = None ,
748
748
flag_evaluation_options : typing .Optional [FlagEvaluationOptions ] = None ,
749
- ) -> FlagEvaluationDetails [typing . Mapping [str , "FlagValueType" ]]: ...
749
+ ) -> FlagEvaluationDetails [Mapping [str , "FlagValueType" ]]: ...
750
750
751
751
def evaluate_flag_details (
752
752
self ,
@@ -874,9 +874,7 @@ async def _create_provider_evaluation_async(
874
874
default_value : FlagValueType ,
875
875
evaluation_context : typing .Optional [EvaluationContext ] = None ,
876
876
) -> FlagEvaluationDetails [FlagValueType ]:
877
- get_details_callables_async : typing .Mapping [
878
- FlagType , ResolveDetailsCallableAsync
879
- ] = {
877
+ get_details_callables_async : Mapping [FlagType , ResolveDetailsCallableAsync ] = {
880
878
FlagType .BOOLEAN : provider .resolve_boolean_details_async ,
881
879
FlagType .INTEGER : provider .resolve_integer_details_async ,
882
880
FlagType .FLOAT : provider .resolve_float_details_async ,
@@ -931,7 +929,7 @@ def _create_provider_evaluation(
931
929
:return: a FlagEvaluationDetails object with the fully evaluated flag from a
932
930
provider
933
931
"""
934
- get_details_callables : typing . Mapping [FlagType , ResolveDetailsCallable ] = {
932
+ get_details_callables : Mapping [FlagType , ResolveDetailsCallable ] = {
935
933
FlagType .BOOLEAN : provider .resolve_boolean_details ,
936
934
FlagType .INTEGER : provider .resolve_integer_details ,
937
935
FlagType .FLOAT : provider .resolve_float_details ,
@@ -986,9 +984,9 @@ def _typecheck_flag_value(
986
984
FlagType .FLOAT : float ,
987
985
FlagType .INTEGER : int ,
988
986
}
989
- _type = type_map .get (flag_type )
990
- if not _type :
987
+ py_type = type_map .get (flag_type )
988
+ if not py_type :
991
989
return GeneralError (error_message = "Unknown flag type" )
992
- if not isinstance (value , _type ):
993
- return TypeMismatchError (f"Expected type { _type } but got { type (value )} " )
990
+ if not isinstance (value , py_type ):
991
+ return TypeMismatchError (f"Expected type { py_type } but got { type (value )} " )
994
992
return None
0 commit comments