console: console.dir() accepts options object

This features comes from the need of adding extra options when displaying
the object using console.dir().

console.dir() accepts now a second parameter that is passed to util.inspect()
in order to provide extra options to the output. These options are: depth, color
and showHidden. More information about these options in util.inspect() documentation.

Signed-off-by: Fedor Indutny <fedor@indutny.com>
This commit is contained in:
Xavi Magrinyà 2014-06-08 13:02:54 +03:00 committed by Fedor Indutny
parent e00cafa311
commit 1cd48c7ae5
2 changed files with 5 additions and 8 deletions

View File

@ -47,10 +47,10 @@ Same as `console.error`.
## console.dir(obj, [options]) ## console.dir(obj, [options])
Uses `util.inspect` on `obj` and prints resulting string to stdout. This function Uses `util.inspect` on `obj` and prints resulting string to stdout. This function
bypasses any custom `inspect()` function on `obj`. An optional *options* object bypasses any custom `inspect()` function on `obj`. An optional *options* object
may be passed that alters certain aspects of the formatted string: may be passed that alters certain aspects of the formatted string:
- `showHidden` - if `true` then the object's non-enumerable properties will be - `showHidden` - if `true` then the object's non-enumerable properties will be
shown too. Defaults to `false`. shown too. Defaults to `false`.
- `depth` - tells `inspect` how many times to recurse while formatting the - `depth` - tells `inspect` how many times to recurse while formatting the

View File

@ -66,12 +66,9 @@ Console.prototype.error = Console.prototype.warn;
Console.prototype.dir = function(object, options) { Console.prototype.dir = function(object, options) {
if (typeof options === 'object' && options !== null) { this._stdout.write(util.inspect(object, util._extend({
options.customInspect = false; customInspect: false
} else { }, options)) + '\n');
options = { customInspect: false };
}
this._stdout.write(util.inspect(object, options) + '\n');
}; };