4
4
5
5
namespace OpenFeature ;
6
6
7
- use DateTime ;
8
7
use OpenFeature \implementation \common \Metadata ;
9
8
use OpenFeature \implementation \common \ValueTypeValidator ;
10
9
use OpenFeature \implementation \errors \InvalidResolutionValueError ;
16
15
use OpenFeature \implementation \hooks \HookContextFactory ;
17
16
use OpenFeature \implementation \hooks \HookExecutor ;
18
17
use OpenFeature \implementation \hooks \HookHints ;
19
- use OpenFeature \implementation \provider \Reason ;
20
18
use OpenFeature \implementation \provider \ResolutionError ;
21
19
use OpenFeature \interfaces \common \LoggerAwareTrait ;
22
20
use OpenFeature \interfaces \common \Metadata as MetadataInterface ;
30
28
use OpenFeature \interfaces \hooks \HooksAwareTrait ;
31
29
use OpenFeature \interfaces \provider \ErrorCode ;
32
30
use OpenFeature \interfaces \provider \Provider ;
31
+ use OpenFeature \interfaces \provider \Reason ;
33
32
use OpenFeature \interfaces \provider \ResolutionDetails ;
34
33
use OpenFeature \interfaces \provider \ThrowableWithResolutionError ;
35
34
use Psr \Log \LoggerAwareInterface ;
@@ -282,12 +281,12 @@ public function getObjectDetails(string $flagKey, $defaultValue, ?EvaluationCont
282
281
* -----------------
283
282
* Methods, functions, or operations on the client MUST NOT throw exceptions, or otherwise abnormally terminate. Flag evaluation calls must always return the default value in the event of abnormal execution. Exceptions include functions or methods for the purposes for configuration or setup.
284
283
*
285
- * @param bool|string|int|float|DateTime| mixed[]|null $defaultValue
284
+ * @param bool|string|int|float|mixed[]|null $defaultValue
286
285
*/
287
286
private function evaluateFlag (
288
287
FlagValueType $ flagValueType ,
289
288
string $ flagKey ,
290
- bool | string | int | float | DateTime | array | null $ defaultValue ,
289
+ bool | string | int | float | array | null $ defaultValue ,
291
290
?EvaluationContextInterface $ invocationContext = null ,
292
291
?EvaluationOptionsInterface $ options = null ,
293
292
): EvaluationDetailsInterface {
@@ -383,6 +382,9 @@ private function evaluateFlag(
383
382
return $ details ;
384
383
}
385
384
385
+ /**
386
+ * @param bool|string|int|float|mixed[]|null $defaultValue
387
+ */
386
388
private function createProviderEvaluation (
387
389
FlagValueType $ type ,
388
390
string $ key ,
@@ -394,35 +396,28 @@ private function createProviderEvaluation(
394
396
case FlagValueType::Boolean->value :
395
397
/** @var bool $defaultValue */ ;
396
398
$ defaultValue = $ defaultValue ;
397
- $ resolver = $ provider ->resolveBooleanValue (...);
398
399
399
- break ;
400
+ return $ provider -> resolveBooleanValue ( $ key , $ defaultValue , $ context ) ;
400
401
case FlagValueType::String->value :
401
402
/** @var string $defaultValue */ ;
402
403
$ defaultValue = $ defaultValue ;
403
- $ resolver = $ provider ->resolveStringValue (...);
404
404
405
- break ;
405
+ return $ provider -> resolveStringValue ( $ key , $ defaultValue , $ context ) ;
406
406
case FlagValueType::Integer->value :
407
407
/** @var int $defaultValue */ ;
408
408
$ defaultValue = $ defaultValue ;
409
- $ resolver = $ provider ->resolveIntegerValue (...);
410
409
411
- break ;
410
+ return $ provider -> resolveIntegerValue ( $ key , $ defaultValue , $ context ) ;
412
411
case FlagValueType::Float->value :
413
412
/** @var float $defaultValue */ ;
414
413
$ defaultValue = $ defaultValue ;
415
- $ resolver = $ provider ->resolveFloatValue (...);
416
414
417
- break ;
415
+ return $ provider -> resolveFloatValue ( $ key , $ defaultValue , $ context ) ;
418
416
case FlagValueType::Object->value :
419
- /** @var object $defaultValue */ ;
417
+ /** @var mixed[] $defaultValue */ ;
420
418
$ defaultValue = $ defaultValue ;
421
- $ resolver = $ provider ->resolveObjectValue (...);
422
419
423
- break ;
420
+ return $ provider -> resolveObjectValue ( $ key , $ defaultValue , $ context ) ;
424
421
}
425
-
426
- return $ resolver ($ key , $ defaultValue , $ context );
427
422
}
428
423
}
0 commit comments