swagger-api/swagger-codegen
在 GitHub 查看[Javascript] Improve Chrome console output by explicit constructor name instead of "exports"
Open
#3,472 建立於 2016年7月28日
Client: JavaScript/Node.jsGeneral: Suggestionhelp wanted
倉庫指標
- Star
- (12,701 star)
- PR 合併指標
- (30 天內沒有已合併 PR)
描述
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]