-
Notifications
You must be signed in to change notification settings - Fork 231
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
java generator, support non-string expandable enum for TypeSpec #4492
Conversation
code fix typespec fix
...-generator-test/src/main/java/com/type/model/inheritance/enumdiscriminator/models/Snake.java
Show resolved
Hide resolved
No changes needing a change description found. |
You can try these changes here
|
I am not sure about Swagger non-string expansive enum. I am kind of inclined for them to use ExpandableEnum as well. But I don't know what they really are in service backend. |
...ore/src/main/java/com/microsoft/typespec/http/client/generator/core/mapper/SchemaMapper.java
Outdated
Show resolved
Hide resolved
.../main/java/com/microsoft/typespec/http/client/generator/core/model/clientmodel/EnumType.java
Outdated
Show resolved
Hide resolved
...c/main/java/com/microsoft/typespec/http/client/generator/mgmt/mapper/FluentChoiceMapper.java
Outdated
Show resolved
Hide resolved
Yes, it depends on backend. Let me do a summary and bring this up on thursday's meeting. |
...rc/main/java/com/microsoft/typespec/http/client/generator/template/TypeSpecEnumTemplate.java
Outdated
Show resolved
Hide resolved
...p-client-generator-test/src/main/java/com/cadl/armresourceprovider/models/PriorityModel.java
Outdated
Show resolved
Hide resolved
...p-client-generator-test/src/main/java/com/cadl/armresourceprovider/models/PriorityModel.java
Outdated
Show resolved
Hide resolved
...p-client-generator-test/src/main/java/com/cadl/armresourceprovider/models/PriorityModel.java
Outdated
Show resolved
Hide resolved
...p-client-generator-test/src/main/java/com/cadl/armresourceprovider/models/PriorityModel.java
Outdated
Show resolved
Hide resolved
...-generator-test/src/main/java/com/type/model/inheritance/enumdiscriminator/models/Snake.java
Show resolved
Hide resolved
...ore/src/main/java/com/microsoft/typespec/http/client/generator/core/mapper/SchemaMapper.java
Show resolved
Hide resolved
…osoft#4492) ## Previous non-string expandable enum implementation - Branded - Swagger(ExpandableStringEnum, serialization having trouble) - TypeSpec(ExpandableStringEnum, serialization having trouble) - Unbranded - ExpandableEnum interface ## After this PR - Branded - Swagger(ExpandableEnum interface implementation, with serialization/deserialization supported) - TypeSpec(ExpandableEnum interface implementation, with serialization/deserialization supported) - Unbranded(untouched, supported) ## Limitations - Only supports string and number extensible enums. - Current TypeSpec doesn't support extensible boolean enum: Azure/typespec-azure#1162 - Current TypeSpec doesn't seem to have literals other than string, number and boolean(I can't make object literals work): microsoft#2359 ## About this PR's commits - **TypeSpec code(main purpose)**: 29841a7 - TypeSpec test case in d37d396 - Swagger test case in autorest.java Azure/autorest.java#2953 - Swagger serialization fix: e8454cf - script change for build: 54af0f1 - A minor mapper bug fix: 41673da --------- Co-authored-by: Weidong Xu <weidxu@microsoft.com>
Previous non-string expandable enum implementation
After this PR
Limitations
About this PR's commits