mirror of
https://github.com/pestphp/pest.git
synced 2026-03-09 17:27:22 +01:00
Refactored Datasets::resolve() to make it more readable
This commit is contained in:
@ -62,35 +62,9 @@ final class Datasets
|
|||||||
return [$description => []];
|
return [$description => []];
|
||||||
}
|
}
|
||||||
|
|
||||||
$processedDatasets = [];
|
$datasets = self::processDatasets($datasets);
|
||||||
|
|
||||||
foreach ($datasets as $index => $data) {
|
$datasetCombinations = self::getDataSetsCombinations($datasets);
|
||||||
$processedDataset = [];
|
|
||||||
|
|
||||||
if (is_string($data)) {
|
|
||||||
$datasets[$index] = self::get($data);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (is_callable($datasets[$index])) {
|
|
||||||
$datasets[$index] = call_user_func($datasets[$index]);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($datasets[$index] instanceof Traversable) {
|
|
||||||
$datasets[$index] = iterator_to_array($datasets[$index]);
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach ($datasets[$index] as $key => $values) {
|
|
||||||
$values = is_array($values) ? $values : [$values];
|
|
||||||
$processedDataset[] = [
|
|
||||||
'label' => self::getDataSetDescription($key, $values),
|
|
||||||
'values' => $values,
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
$processedDatasets[] = $processedDataset;
|
|
||||||
}
|
|
||||||
|
|
||||||
$datasetCombinations = self::getDataSetsCombinations($processedDatasets);
|
|
||||||
|
|
||||||
$dataSetDescriptions = [];
|
$dataSetDescriptions = [];
|
||||||
$dataSetValues = [];
|
$dataSetValues = [];
|
||||||
@ -127,6 +101,44 @@ final class Datasets
|
|||||||
return $namedData;
|
return $namedData;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param array<Closure|iterable<int|string, mixed>|string> $datasets
|
||||||
|
*
|
||||||
|
* @return array<array>
|
||||||
|
*/
|
||||||
|
private static function processDatasets(array $datasets): array
|
||||||
|
{
|
||||||
|
$processedDatasets = [];
|
||||||
|
|
||||||
|
foreach ($datasets as $index => $data) {
|
||||||
|
$processedDataset = [];
|
||||||
|
|
||||||
|
if (is_string($data)) {
|
||||||
|
$datasets[$index] = self::get($data);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (is_callable($datasets[$index])) {
|
||||||
|
$datasets[$index] = call_user_func($datasets[$index]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($datasets[$index] instanceof Traversable) {
|
||||||
|
$datasets[$index] = iterator_to_array($datasets[$index]);
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach ($datasets[$index] as $key => $values) {
|
||||||
|
$values = is_array($values) ? $values : [$values];
|
||||||
|
$processedDataset[] = [
|
||||||
|
'label' => self::getDataSetDescription($key, $values),
|
||||||
|
'values' => $values,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
$processedDatasets[] = $processedDataset;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $processedDatasets;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param array<array> $combinations
|
* @param array<array> $combinations
|
||||||
*
|
*
|
||||||
|
|||||||
Reference in New Issue
Block a user