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.
This commit is contained in:
Tim Caswell 2010-02-09 11:15:02 -06:00 коммит произвёл Ryan Dahl
Родитель e33c66654a
Коммит 3aca908db3
2 изменённых файлов: 5 добавлений и 6 удалений

Просмотреть файл

@ -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

Просмотреть файл

@ -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}})