Skip to content

Commit f3964f9

Browse files
committed
MAGETWO-92524: Architectural Review
Refactor
1 parent 7e45f4c commit f3964f9

File tree

1 file changed

+23
-16
lines changed
  • app/code/Magento/PageBuilder/Model/Config/ContentType/AdditionalData

1 file changed

+23
-16
lines changed

app/code/Magento/PageBuilder/Model/Config/ContentType/AdditionalData/Parser.php

Lines changed: 23 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -39,27 +39,34 @@ public function toArray(array $additionalData): array
3939
{
4040
$parsedAdditionalData = [];
4141

42-
$convertToProviders = function ($additionalDatum) use (&$convertToProviders) {
43-
$processedData = [];
42+
foreach ($additionalData as $key => $additionalDataItem) {
43+
$additionalDataItem = $this->argumentInterpreter->evaluate($additionalDataItem);
44+
$parsedAdditionalData[$key] = $this->evaluateProviders($additionalDataItem);
45+
}
4446

45-
foreach ($additionalDatum as $key => $value) {
46-
$processedData[$key] = $value;
47+
return $parsedAdditionalData;
48+
}
4749

48-
if (is_array($value)) {
49-
$processedData[$key] = $convertToProviders($additionalDatum[$key]);
50-
} elseif (is_object($value) && $value instanceof ProviderInterface) {
51-
$processedData[$key] = $value->getData($key)[$key];
52-
}
53-
}
50+
/**
51+
* Evaluate ProviderInterface objects
52+
*
53+
* @param array $additionalDataItem
54+
* @return array
55+
*/
56+
private function evaluateProviders(array $additionalDataItem): array
57+
{
58+
$processedData = [];
5459

55-
return $processedData;
56-
};
60+
foreach ($additionalDataItem as $key => $value) {
61+
$processedData[$key] = $value;
5762

58-
foreach ($additionalData as $key => $additionalDatum) {
59-
$additionalDatum = $this->argumentInterpreter->evaluate($additionalDatum);
60-
$parsedAdditionalData[$key] = $convertToProviders($additionalDatum);
63+
if (is_array($value)) {
64+
$processedData[$key] = $this->evaluateProviders($additionalDataItem[$key]);
65+
} elseif (is_object($value) && $value instanceof ProviderInterface) {
66+
$processedData[$key] = $value->getData($key)[$key];
67+
}
6168
}
6269

63-
return $parsedAdditionalData;
70+
return $processedData;
6471
}
6572
}

0 commit comments

Comments
 (0)