diff options
author | Tim Caswell <tim@creationix.com> | 2010-02-09 20:15:02 +0300 |
---|---|---|
committer | Ryan Dahl <ry@tinyclouds.org> | 2010-02-09 20:20:15 +0300 |
commit | 3aca908db3be3b7354d409974fb9f84c7d980644 (patch) | |
tree | 1f78f505c02cee7b06a25263dd972f96557a1e18 | |
parent | e33c66654ab1634fea36de13065d1bfd52fce265 (diff) |
Document the changes to sys.inspect's API.
It now takes an optional showHidden argument that shows hidden/non-enumerable properties of objects.
Also cleanup the lib/sys.js file a bit.
-rw-r--r-- | doc/api.txt | 4 | ||||
-rw-r--r-- | lib/sys.js | 7 |
2 files changed, 5 insertions, 6 deletions
diff --git a/doc/api.txt b/doc/api.txt index 89995e94490..2eeea99d998 100644 --- a/doc/api.txt +++ b/doc/api.txt @@ -208,8 +208,8 @@ Like +puts()+ but without the trailing new-line. A synchronous output function. Will block the process and output the string immediately to stdout. -+inspect(object)+ :: -Return a string representation of the +object+. (For debugging.) ++inspect(object, showHidden)+ :: +Return a string representation of the +object+. (For debugging.) If showHidden is true, then the object's non-enumerable properties will be shown too. +exec(command)+:: Executes the command as a child process, buffers the output and returns it diff --git a/lib/sys.js b/lib/sys.js index f39a7cf0ea4..461a12c8a12 100644 --- a/lib/sys.js +++ b/lib/sys.js @@ -26,7 +26,6 @@ exports.error = function (x) { exports.inspect = function (obj, showHidden) { var seen = []; function format(value) { - var keys, visible_keys, base, type, braces; // Primitive types cannot have properties switch (typeof value) { case 'undefined': return 'undefined'; @@ -40,10 +39,10 @@ exports.inspect = function (obj, showHidden) { } // Look up the keys of the object. - keys = showHidden ? Object.getOwnPropertyNames(value).map(function (key) { + var keys = showHidden ? Object.getOwnPropertyNames(value).map(function (key) { return '' + key; }) : Object.keys(value); - visible_keys = Object.keys(value); + var visible_keys = Object.keys(value); // Functions without properties can be shortcutted. if (typeof value === 'function' && keys.length === 0) { @@ -54,6 +53,7 @@ exports.inspect = function (obj, showHidden) { } } + var base, type, braces; // Determine the object type if (value instanceof Array) { type = 'Array'; @@ -160,4 +160,3 @@ exports.exec = function (command) { */ exports.inherits = process.inherits; -// Object.create(null, {name: {value: "Tim", enumerable: true}})
\ No newline at end of file |