From: Tim Caswell Date: Tue, 9 Feb 2010 17:15:02 +0000 (-0600) Subject: Document the changes to sys.inspect's API. X-Git-Tag: v0.1.28~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3aca908db3be3b7354d409974fb9f84c7d980644;p=platform%2Fupstream%2Fnodejs.git 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. --- diff --git a/doc/api.txt b/doc/api.txt index 89995e9..2eeea99 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 f39a7cf..461a12c 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