Created by: gasugesu
http.ClientResponse
" or "http.Incomming
" should be used
ECMA proposal dose not determine Whether "Hello developers. Thank you for maintaining the OpenAPI Generator!! I have a suggestion for you today. I have been using "typescript-node" recently, and I noticed a problem. Even though I use node @ 10, es5, and Typescript 3.7 in my development, the correct type will not be generated unless I include the "--additional-properties supportsES6 = true" flag when generating the "typescript-node" code! If this flag is not set, a "http.IncomingMessage" type should be created, but a "http: ClientResponse" type will be created. So I did some research and found that the version of node, not the ECMA Proposal, should determine whether the "http.IncomingMessage" or "http: ClientResponse" type should be used. As you know, the ECMA Proposal is just a proposal for a language specification and makes no mention of which proposals should be implemented in which node versions. So I think this interface should not be determined by whether it is es6 or something else, but by which node version you are using.
Therefore, I would like to suggest the following.
-
Replace all "http: ClientResponse" with "http.IncomignMessage". Originally, "http: ClientResponse" is just an alias for "http.IncomignMessage" and you don't have to force yourself to use "http: ClientResponse".
-
If 1 is not possible for some reason, add a new flag indicating the version of your node. This will not confuse non-es6 users, such as those using es5.
By the way, the link below shows that "http: ClientResponse" is only an alias for "http.IncomignMessage" from node@v0.
https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/node/v0/index.d.ts#L576 https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/node/v6/base.d.ts#L877 https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/node/v7/base.d.ts#L880 https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/node/v8/base.d.ts#L1103 https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/node/v9/base.d.ts#L1185
PR checklist
-
Read the contribution guidelines. -
Pull Request title clearly describes the work in the pull request and Pull Request description provides details about how to validate the work. Missing information here may result in delayed response from the community. -
If contributing template-only or documentation-only changes which will change sample output, build the project beforehand. -
Run the shell script ./bin/generate-samples.sh
to update all Petstore samples related to your fix. This is important, as CI jobs will verify all generator outputs of your HEAD commit as it would merge with master. These must match the expectations made by your contribution. You may regenerate an individual generator by passing the relevant config(s) as an argument to the script, for example./bin/generate-samples.sh bin/configs/java*
. For Windows users, please run the script in Git BASH. -
File the PR against the correct branch: master
-
Copy the technical committee to review the pull request if your PR is targeting a particular programming language.