Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
Geth-Modification
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
张蕾
Geth-Modification
Commits
fda49f2b
Commit
fda49f2b
authored
Jun 09, 2015
by
Jeffrey Wilcke
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #1213 from karalabe/polish-console-prettyprinter
jsre: patch up the pretty printer to have a decent look
parents
c71ab2a6
d6f4c515
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
28 additions
and
11 deletions
+28
-11
pp_js.go
jsre/pp_js.go
+28
-11
No files found.
jsre/pp_js.go
View file @
fda49f2b
...
...
@@ -26,19 +26,19 @@ function pp(object, indent) {
} else if(typeof(object) === "object") {
str += "{\n";
indent += " ";
var last = getFields(object).pop()
getFields(object).forEach(function (k) {
str += indent + k + ": ";
var fields = getFields(object);
var last = fields[fields.length - 1];
fields.forEach(function (key) {
str += indent + key + ": ";
try {
str += pp(object[k], indent);
str += pp(object[k
ey
], indent);
} catch (e) {
str += pp(e, indent);
}
if(k !== last) {
if(key !== last) {
str += ",";
}
str += "\n";
});
str += indent.substr(2, indent.length) + "}";
...
...
@@ -49,7 +49,7 @@ function pp(object, indent) {
} else if(typeof(object) === "number") {
str += "\033[31m" + object;
} else if(typeof(object) === "function") {
str += "\033[35m
[Function]"
;
str += "\033[35m
" + object.toString().split(" {")[0]
;
} else {
str += object;
}
...
...
@@ -70,15 +70,32 @@ var redundantFields = [
];
var getFields = function (object) {
var
result
= Object.getOwnPropertyNames(object);
var
members
= Object.getOwnPropertyNames(object);
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;
});
};
var isMemberFunction = function(object, member) {
try {
return typeof(object[member]) === "function";
} catch(e) {
return false;
}
}
var isBigNumber = function (object) {
return typeof BigNumber !== 'undefined' && object instanceof BigNumber;
};
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment