From 107d9b4d23f8d37186513dffe5c0434122b6ae0f Mon Sep 17 00:00:00 2001 From: Christian Daguerre Date: Wed, 2 Mar 2022 10:14:28 +0100 Subject: [PATCH] add processor to backport const keyword for open api < 3.1 --- src/Generator.php | 1 + src/Processors/BackportConstants.php | 37 ++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 src/Processors/BackportConstants.php diff --git a/src/Generator.php b/src/Generator.php index ef0bca7d3..5b8eb2601 100644 --- a/src/Generator.php +++ b/src/Generator.php @@ -191,6 +191,7 @@ public function getProcessors(): array new Processors\MergeXmlContent(), new Processors\OperationId(), new Processors\CleanUnmerged(), + new Processors\BackportConstants(), ]; } diff --git a/src/Processors/BackportConstants.php b/src/Processors/BackportConstants.php new file mode 100644 index 000000000..2049bd06e --- /dev/null +++ b/src/Processors/BackportConstants.php @@ -0,0 +1,37 @@ +getAnnotationsOfType([AnnotationSchema::class, AttributeSchema::class], true); + + foreach ($schemas as $schema) { + if (Generator::isDefault($schema->const)) { + continue; + } + + if (version_compare($analysis->context->version, OpenApi::VERSION_3_1_0, '<')) { + $schema->type = 'enum'; + $schema->enum = [$schema->const]; + $schema->const = Generator::UNDEFINED; + } + } + } +}