jsre: sort pretty print output, fields before funcs

This commit is contained in:
Péter Szilágyi 2015-06-09 17:19:56 +03:00
parent 3f4ce70d92
commit 7842559353

View File

@ -70,15 +70,32 @@ var redundantFields = [
]; ];
var getFields = function (object) { var getFields = function (object) {
var result = Object.getOwnPropertyNames(object); var members = Object.getOwnPropertyNames(object);
if (object.constructor && object.constructor.prototype) { if (object.constructor && object.constructor.prototype) {
result = result.concat(Object.getOwnPropertyNames(object.constructor.prototype)); members = members.concat(Object.getOwnPropertyNames(object.constructor.prototype));
} }
return result.filter(function (field) {
var fields = members.filter(function (member) {
return !isMemberFunction(object, member)
}).sort()
var funcs = members.filter(function (member) {
return isMemberFunction(object, member)
}).sort()
var results = fields.concat(funcs);
return results.filter(function (field) {
return redundantFields.indexOf(field) === -1; return redundantFields.indexOf(field) === -1;
}); });
}; };
var isMemberFunction = function(object, member) {
try {
return typeof(object[member]) === "function";
} catch(e) {
return false;
}
}
var isBigNumber = function (object) { var isBigNumber = function (object) {
return typeof BigNumber !== 'undefined' && object instanceof BigNumber; return typeof BigNumber !== 'undefined' && object instanceof BigNumber;
}; };