44
55namespace OpenFeature ;
66
7- use DateTime ;
87use OpenFeature \implementation \common \Metadata ;
98use OpenFeature \implementation \common \ValueTypeValidator ;
109use OpenFeature \implementation \errors \InvalidResolutionValueError ;
1615use OpenFeature \implementation \hooks \HookContextFactory ;
1716use OpenFeature \implementation \hooks \HookExecutor ;
1817use OpenFeature \implementation \hooks \HookHints ;
19- use OpenFeature \implementation \provider \Reason ;
2018use OpenFeature \implementation \provider \ResolutionError ;
2119use OpenFeature \interfaces \common \LoggerAwareTrait ;
2220use OpenFeature \interfaces \common \Metadata as MetadataInterface ;
3028use OpenFeature \interfaces \hooks \HooksAwareTrait ;
3129use OpenFeature \interfaces \provider \ErrorCode ;
3230use OpenFeature \interfaces \provider \Provider ;
31+ use OpenFeature \interfaces \provider \Reason ;
3332use OpenFeature \interfaces \provider \ResolutionDetails ;
3433use OpenFeature \interfaces \provider \ThrowableWithResolutionError ;
3534use Psr \Log \LoggerAwareInterface ;
@@ -282,12 +281,12 @@ public function getObjectDetails(string $flagKey, $defaultValue, ?EvaluationCont
282281 * -----------------
283282 * 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.
284283 *
285- * @param bool|string|int|float|DateTime| mixed[]|null $defaultValue
284+ * @param bool|string|int|float|mixed[]|null $defaultValue
286285 */
287286 private function evaluateFlag (
288287 FlagValueType $ flagValueType ,
289288 string $ flagKey ,
290- bool | string | int | float | DateTime | array | null $ defaultValue ,
289+ bool | string | int | float | array | null $ defaultValue ,
291290 ?EvaluationContextInterface $ invocationContext = null ,
292291 ?EvaluationOptionsInterface $ options = null ,
293292 ): EvaluationDetailsInterface {
@@ -383,6 +382,9 @@ private function evaluateFlag(
383382 return $ details ;
384383 }
385384
385+ /**
386+ * @param bool|string|int|float|mixed[]|null $defaultValue
387+ */
386388 private function createProviderEvaluation (
387389 FlagValueType $ type ,
388390 string $ key ,
@@ -394,35 +396,28 @@ private function createProviderEvaluation(
394396 case FlagValueType::Boolean->value :
395397 /** @var bool $defaultValue */ ;
396398 $ defaultValue = $ defaultValue ;
397- $ resolver = $ provider ->resolveBooleanValue (...);
398399
399- break ;
400+ return $ provider -> resolveBooleanValue ( $ key , $ defaultValue , $ context ) ;
400401 case FlagValueType::String->value :
401402 /** @var string $defaultValue */ ;
402403 $ defaultValue = $ defaultValue ;
403- $ resolver = $ provider ->resolveStringValue (...);
404404
405- break ;
405+ return $ provider -> resolveStringValue ( $ key , $ defaultValue , $ context ) ;
406406 case FlagValueType::Integer->value :
407407 /** @var int $defaultValue */ ;
408408 $ defaultValue = $ defaultValue ;
409- $ resolver = $ provider ->resolveIntegerValue (...);
410409
411- break ;
410+ return $ provider -> resolveIntegerValue ( $ key , $ defaultValue , $ context ) ;
412411 case FlagValueType::Float->value :
413412 /** @var float $defaultValue */ ;
414413 $ defaultValue = $ defaultValue ;
415- $ resolver = $ provider ->resolveFloatValue (...);
416414
417- break ;
415+ return $ provider -> resolveFloatValue ( $ key , $ defaultValue , $ context ) ;
418416 case FlagValueType::Object->value :
419- /** @var object $defaultValue */ ;
417+ /** @var mixed[] $defaultValue */ ;
420418 $ defaultValue = $ defaultValue ;
421- $ resolver = $ provider ->resolveObjectValue (...);
422419
423- break ;
420+ return $ provider -> resolveObjectValue ( $ key , $ defaultValue , $ context ) ;
424421 }
425-
426- return $ resolver ($ key , $ defaultValue , $ context );
427422 }
428423}
0 commit comments