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:
Родитель
e33c66654a
Коммит
3aca908db3
|
@ -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}})
|
Загрузка…
Ссылка в новой задаче