p43N
This commit is contained in:
@@ -46,21 +46,31 @@ final class DomainVocabularyConfig
|
||||
return $this->uniqueStringListMap($fallback);
|
||||
}
|
||||
|
||||
$out = [];
|
||||
foreach ($value as $key => $items) {
|
||||
if (!is_scalar($key)) {
|
||||
continue;
|
||||
}
|
||||
$cleanKey = trim((string) $key);
|
||||
$cleanItems = $this->stringListFromValue($items);
|
||||
if ($cleanKey !== '' && $cleanItems !== []) {
|
||||
$out[$cleanKey] = $cleanItems;
|
||||
}
|
||||
}
|
||||
$out = $this->stringListMapWithAliases($value);
|
||||
|
||||
return $out !== [] ? $out : $this->uniqueStringListMap($fallback);
|
||||
}
|
||||
|
||||
/** @return array<string, string[]> */
|
||||
private function stringListMapWithAliases(array $value): array
|
||||
{
|
||||
$values = $this->uniqueStringListMap(is_array($value['values'] ?? null) ? $value['values'] : []);
|
||||
$aliases = $this->uniqueStringMap(is_array($value['aliases'] ?? null) ? $value['aliases'] : []);
|
||||
|
||||
if ($values !== [] && $aliases !== []) {
|
||||
$out = [];
|
||||
foreach ($aliases as $alias => $valueKey) {
|
||||
if (isset($values[$valueKey])) {
|
||||
$out[$alias] = $values[$valueKey];
|
||||
}
|
||||
}
|
||||
|
||||
return $out;
|
||||
}
|
||||
|
||||
return $this->uniqueStringListMap($value);
|
||||
}
|
||||
|
||||
/** @return array<string, string> */
|
||||
public function stringMap(string $path, array $fallback = []): array
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user