diff --git a/src/Support/TypeToSchemaExtensions/EnumToSchema.php b/src/Support/TypeToSchemaExtensions/EnumToSchema.php index 6d69d8df..8a235858 100644 --- a/src/Support/TypeToSchemaExtensions/EnumToSchema.php +++ b/src/Support/TypeToSchemaExtensions/EnumToSchema.php @@ -34,12 +34,13 @@ public function toSchema(Type $type): OpenApi\Type { $name = $type->name; - if (! isset($name::cases()[0]->value)) { // only backed enums support - return new UnknownType; + $values = []; + if (!isset($name::cases()[0]->value)) { + $values = array_map(fn ($s) => $s->name, $name::cases()); + } else { + $values = array_map(fn ($s) => $s->value, $name::cases()); } - $values = array_map(fn ($s) => $s->value, $name::cases()); - $schemaType = is_string($values[0]) ? new StringType : new IntegerType; $schemaType->enum($values);