Просмотр исходного кода

printing object prototype functions in geth console

Marek Kotewicz 10 лет назад
Родитель
Сommit
1f122626be
1 измененных файлов с 10 добавлено и 3 удалено
  1. 10 3
      jsre/pp_js.go

+ 10 - 3
jsre/pp_js.go

@@ -30,8 +30,8 @@ function pp(object, indent) {
     } else if(typeof(object) === "object") {
         str += "{\n";
         indent += "  ";
-        var last = Object.getOwnPropertyNames(object).pop()
-        Object.getOwnPropertyNames(object).forEach(function (k) {
+        var last = getFields(object).pop()
+        getFields(object).forEach(function (k) {
             str += indent + k + ": ";
             try {
                 str += pp(object[k], indent);
@@ -63,11 +63,18 @@ function pp(object, indent) {
     return str;
 }
 
+var getFields = function (object) {
+    var result = Object.getOwnPropertyNames(object);
+    if (object.constructor && object.constructor.prototype) {
+        result = result.concat(Object.getOwnPropertyNames(object.constructor.prototype));
+    }
+    return result;
+};
+
 var isBigNumber = function (object) {
     return typeof BigNumber !== 'undefined' && object instanceof BigNumber;
 };
 
-
 function prettyPrint(/* */) {
     var args = arguments;
     var ret = "";