console: console.dir() accepts options object
authorXavi Magrinyà <xavi.mb89@gmail.com>
Sun, 8 Jun 2014 10:02:54 +0000 (13:02 +0300)
committerFedor Indutny <fedor@indutny.com>
Thu, 12 Jun 2014 17:42:52 +0000 (10:42 -0700)
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>
doc/api/console.markdown
lib/console.js

index 62bccf4..154b4bf 100644 (file)
@@ -47,10 +47,10 @@ Same as `console.error`.
 ## console.dir(obj, [options])
 
 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:
 
-- `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`.
 
 - `depth` - tells `inspect` how many times to recurse while formatting the
index 63dcbe1..75ca0ad 100644 (file)
@@ -66,12 +66,9 @@ Console.prototype.error = Console.prototype.warn;
 
 
 Console.prototype.dir = function(object, options) {
-  if (typeof options === 'object' && options !== null) {
-    options.customInspect = false;
-  } else {
-    options = { customInspect: false };
-  }
-  this._stdout.write(util.inspect(object, options) + '\n');
+  this._stdout.write(util.inspect(object, util._extend({
+    customInspect: false
+  }, options)) + '\n');
 };