Created by: fantavlik
PR checklist
- [ ✓ ] Read the contribution guidelines.
- [ ✓ ] Ran the shell script under
./bin/
to update Petstore sample so that CIs can verify the change. (For instance, only need to run./bin/{LANG}-petstore.sh
,./bin/openapi3/{LANG}-petstore.sh
if updating the {LANG} (e.g. php, ruby, python, etc) code generator or {LANG} client's mustache templates). Windows batch files can be found in.\bin\windows\
. - [ ✓ ] Filed the PR against the correct branch:
master
,. Default:3.4.x
,4.0.x
master
. - [ ✓ ] Copied the technical committee to review the pull request if your PR is targeting a particular programming language.
CC: @antihax @bvwells @grokify @kemokemo
This aims to address the following issues: https://github.com/OpenAPITools/openapi-generator/issues/535 (also see related closed PR: https://github.com/OpenAPITools/openapi-generator/pull/542) https://github.com/OpenAPITools/openapi-generator/issues/2050 https://github.com/OpenAPITools/openapi-generator/issues/2360
Description of the PR
There are four main aspects:
- Enums that are defined inline were not being generated (see https://github.com/OpenAPITools/openapi-generator/issues/2360 for an example), this PR follows similar logic to the typescript-fetch generation template to remedy this: https://github.com/OpenAPITools/openapi-generator/blob/master/modules/openapi-generator/src/main/resources/typescript-fetch/modelGeneric.mustache#L92-L109
- Enums names often result in namespace collisions within the package being generated (see https://github.com/OpenAPITools/openapi-generator/issues/535), prefixes have been added to help prevent this for most cases.
- Numeric enum values were improperly being quoted, now only strings are.
- Numeric enum names were not properly escaping plus/minus signs and decimal points e.g. to differentiate between
-1
and1
or1.1
and11