OpenAPITools / OpenAPITools/openapi-generator
[BUG] Inconsistent application of usePromise property in typescript-inversify templates
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 26.8k
- Forks
- 7.7k
- PR merge metrics
- PR metrics pending
Description
Bug Report Checklist
- Have you provided a full/minimal spec to reproduce the issue?
- [-] Have you validated the input using an OpenAPI validator (example)?
- Have you tested with the latest master to confirm the issue still exists?
- Have you searched for related issues/PRs?
- What's the actual output vs expected output?
- [Optional] Sponsorship to speed up the bug fix or feature request (example)
Description
Inconsistent use of the usePromise additional property.
When usePromise is specified, typescript-inversify templates generate Promises correctly in some places, but Observable in others.
openapi-generator version
5.3.1
Also exists in 5.4.x and 6.0.x branches.
OpenAPI declaration file content or url
NA
Generation Details
java -jar openapi-generator-cli-5.3.1.jar generate -I input.yaml -g typescript-inversify -o outdir --additional-properties supportsES6=true --additional-properties usePromise=true
Steps to reproduce
Use any json or yaml file that declares a service/path with the above arguments.
Inspect typescript-inversify/HttpClient.mustache and/or IHttpClient.mustache to see the problems.
Related issues/PRs
NA
Suggest a fix
The fix is pretty simple. I will submit a PR for the 5.4.x branch shortly. Happy to submit to a different branch if need be.
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
Reproduce with the provided openapi-generator command and a service/path specification, then inspect typescript-inversify/HttpClient.mustache and IHttpClient.mustache. Compare the generated Promise and Observable usage when usePromise=true; done means the templates apply that property consistently.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 40/100