diff --git a/src/Generator.php b/src/Generator.php index 36953a53..f499e95f 100644 --- a/src/Generator.php +++ b/src/Generator.php @@ -219,12 +219,24 @@ protected function normaliseConfig(array $config): array $value = 'true' == $value; } + if ($isList = ('[]' == substr($key, -2))) { + $key = substr($key, 0, -2); + } $token = explode('.', $key); if (2 == count($token)) { // 'operationId.hash' => false - $normalised[$token[0]][$token[1]] = $value; + // namespaced / processor + if ($isList) { + $normalised[$token[0]][$token[1]][] = $value; + } else { + $normalised[$token[0]][$token[1]] = $value; + } } else { - $normalised[$key] = $value; + if ($isList) { + $normalised[$key][] = $value; + } else { + $normalised[$key] = $value; + } } } @@ -422,6 +434,7 @@ public static function scan(iterable $sources, array $options = []): ?OA\OpenApi 'analysis' => null, 'processor' => null, 'processors' => null, + 'config' => [], 'logger' => null, 'validate' => true, 'version' => null, @@ -436,6 +449,7 @@ public static function scan(iterable $sources, array $options = []): ?OA\OpenApi ->setNamespaces($config['namespaces']) ->setAnalyser($config['analyser']) ->setProcessorPipeline($processorPipeline) + ->setConfig($config['config']) ->generate($sources, $config['analysis'], $config['validate']); }