From 55ad911b69a16f9ff59778ad7ff3d501a2628709 Mon Sep 17 00:00:00 2001 From: DerManoMann Date: Sun, 30 Jun 2024 16:26:49 +1200 Subject: [PATCH] Fix: Pass CLI config options into `Generator` Also adds syntax to congigure config array values --- src/Generator.php | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/Generator.php b/src/Generator.php index 36953a53..f88dab5d 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; + } } } @@ -264,6 +276,7 @@ public function getProcessorPipeline(): Pipeline new Processors\MergeXmlContent(), new Processors\OperationId(), new Processors\CleanUnmerged(), + new Processors\PathFilter(), ]); } @@ -422,6 +435,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 +450,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']); }