Skip to content

Commit 7cf046c

Browse files
committed
Update EvaluationResult spec
Contributes to Flagsmith/flagsmith#6121
1 parent fe68922 commit 7cf046c

File tree

4 files changed

+5
-16
lines changed

4 files changed

+5
-16
lines changed

src/Engine/Engine.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ public static function getEvaluationResult($context): EvaluationResult
4444
/** @var array<string, SegmentContext> */
4545
$matchedSegmentsByFeatureKey = [];
4646

47-
/** @var array<FlagResult> */
47+
/** @var array<string, FlagResult> */
4848
$evaluatedFlags = [];
4949

5050
foreach ($context->segments as $segment) {
@@ -80,23 +80,23 @@ public static function getEvaluationResult($context): EvaluationResult
8080

8181
foreach ($context->features as $feature) {
8282
$featureKey = $feature->feature_key;
83+
$featureName = $feature->name;
8384
$evaluatedFeature = $evaluatedFeatures[$featureKey] ?? null;
8485
if ($evaluatedFeature) {
85-
$evaluatedFlags[] = self::getFlagResultFromSegmentContext(
86+
$evaluatedFlags[$featureName] = self::getFlagResultFromSegmentContext(
8687
$evaluatedFeature,
8788
$matchedSegmentsByFeatureKey[$featureKey],
8889
);
8990
continue;
9091
}
9192

92-
$evaluatedFlags[] = self::getFlagResultFromFeatureContext(
93+
$evaluatedFlags[$featureName] = self::getFlagResultFromFeatureContext(
9394
$feature,
9495
$context->identity?->key,
9596
);
9697
}
9798

9899
$result = new EvaluationResult();
99-
$result->context = $context;
100100
$result->flags = $evaluatedFlags;
101101
$result->segments = $evaluatedSegments;
102102
return $result;

src/Engine/Utils/Types/Result/EvaluationResult.php

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,9 @@
22

33
namespace Flagsmith\Engine\Utils\Types\Result;
44

5-
use Flagsmith\Engine\Utils\Types\Context\EvaluationContext;
6-
75
// TODO: Port this to https://wiki.php.net/rfc/dataclass
86
class EvaluationResult
97
{
10-
/** @var EvaluationContext */
11-
public $context;
12-
138
/** @var array<FlagResult> */
149
public array $flags;
1510

tests/Engine/EngineTests/EngineDataTest.php

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,6 @@ public function testEngine(
4141
// When
4242
$evaluationResult = Engine::getEvaluationResult($evaluationContext);
4343

44-
// Hack to allow comparing flags as associative arrays (<feature_name>: <flag>)
45-
$wanted = array_column($expectedEvaluationResult->flags, null, 'name');
46-
$expectedEvaluationResult->flags = $wanted;
47-
$actual = array_column($evaluationResult->flags, null, 'name');
48-
$evaluationResult->flags = $actual;
49-
5044
// Then
5145
$this->assertEquals(
5246
json_decode(json_encode($expectedEvaluationResult), true),

0 commit comments

Comments
 (0)