swagger-api / swagger-api/swagger-codegen
[Typescript] Invalid enum variable name for <> (NotEqual)
Nobody has claimed this yet.
- Dominant language
- Mustache
- Stars
- 17.8k
- Forks
- 6k
- PR merge metrics
- No merged PRs in 30d
Description
Description
For an enum with symbol-name "<>" the typescript-fetch generator generates an empty var name (but I guess it doesn't only affect typescript-fetch).
Result (the second last line is invalid):
export enum FilterTypeEnum {
Equal = <any> '=',
GreaterThanOrEqualTo = <any> '>=',
GreaterThan = <any> '>',
LessThanOrEqualTo = <any> '<=',
LessThan = <any> '<',
= <any> '<>'
}
Swagger-codegen version
2.4.0-SNAPSHOT
Swagger declaration file content or url
[...]
"AttributeFilter" : {
"type" : "object",
"properties" : {
"filterType" : {
"type" : "string",
"description" : "Default is equals.",
"enum" : [ "=", ">=", ">", "<=", "<", "<>" ]
},
},
},
[...]
Command line used for generation
n/a
Steps to reproduce
see above
Related issues/PRs
None found
Suggest a fix/enhancement
Extend DefaultCodegen.java with an additional specialCharReplacements.put("<>", "Unequal");
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in DefaultCodegen.java, where special character replacements are defined, and inspect how the typescript-fetch generator maps enum symbols to variable names. Reproduce the declaration using the provided enum values, then verify that the <> value receives a valid name and the generated TypeScript enum contains no empty identifier.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, typescript
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 35/100