swagger-api/swagger-codegen
[Javascript] Improve Chrome console output by explicit constructor name instead of "exports"
オープン
#3,472 opened on 2016/07/28
Client: JavaScript/Node.jsGeneral: Suggestionhelp wanted
Repository metrics
- Stars
- (12,701 個のスター)
- PR merge metrics
- (PR metrics pending)
説明
Description
When outputting responses from the generated Api, Chrome is smart enough to provide smart type names for the objects that are rendered. For example, when calling a api function in console, Chrome gives me:
api.getSomething().then(function() { console.log(arguments); })
> [exports]
This is because of the generated Models having the following code:
var exports = function() {
var _this = this;
}
...
return exports;
To be honest, even I am not too sure how Chrome does this in V8, as Firefox definitely does not do this for me. Edit: seems like Chrome may be simply using obj.constructor.name as the output.
api.getSomething().then(function() { console.log(arguments[0]); })
> Object { ... }
Anyway, just a suggestion, not a big one =)
Swagger-codegen version
2.1.6, 2.2.0
Swagger declaration file content or url
Command line used for generation
Steps to reproduce
Related issues
Suggest a Fix
Even a quick hack like this works, for example in a model file called ResourceModel.js:
var ResourceModel = function() {
var _this = this;
};
var exports = ResourceModel;
...
return exports;
api.getSomething().then(function() { console.log(arguments); })
> [ResourceModel]