Conversation
doc/api/util.md
Outdated
There was a problem hiding this comment.
Perhaps a defaultOptions setter/getter would be better here? Something like...
util.inspect.defaultOptions = options;
// or even...
util.inspect.defaultOptions.maxArrayLength = 1000;There was a problem hiding this comment.
Right, seems cleaner.
There was a problem hiding this comment.
Hmm, I think it might be possible to make them plain properties. Would save some time having to compute the getter/setter names at least.
|
I'm generally +1 on having this, but prefer making it a getter/setter rather than a method. |
lib/util.js
Outdated
There was a problem hiding this comment.
Shouldn't this check for null?
There was a problem hiding this comment.
Right, null is an issue. How about a strict object check instead?
if (Object.prototype.toString.call(options) === '[object Object]') {There was a problem hiding this comment.
In other places in core, I believe we've just been doing options === null || typeof options !== 'object'
|
Thanks for review. What's the general consensus on |
|
Last I heard, we were still preferring |
|
Windows fail looks unrelated (Jenkins -- connection aborted) |
|
Also, not sure what's up with the linter on CI:
|
|
Nevermind, there's some lint errors. Fixing them. |
|
Updated to use the
|
|
Using a getter/setter would help protect against things like I'm not convinced that sealing the object is necessary but it's likely harmless. |
|
@jasnell Sealing for example prevents Supporting both |
|
@jasnell I've switched to accessors now. The solution turned out shorter than I thought and should satisfy all cases. I'd like to keep the properties sealed to prevent some misuse like deleting, and so I can |
ab34c96 to
2dcd462
Compare
doc/api/util.md
Outdated
|
LGTM with a nit if CI is green. |
test/parallel/test-util-inspect.js
Outdated
There was a problem hiding this comment.
Tiny nit, but could you capitalize "set" here and in the comment below.
|
LGTM pending CI. |
769d558 to
01ef515
Compare
|
CI is green except a hanging Windows box. Giving this PR a bit of time for others to weight in. |
doc/api/util.md
Outdated
There was a problem hiding this comment.
Since this is a property and not a function, it doesn't really "return" anything, right? It just is a value. I'd be inclined to delete the line entirely. I don't think it actually adds any information. (I also think it's misleading. If you don't set it, it's undefined and not an object.)
There was a problem hiding this comment.
(Whoops, the parenthetical is wrong, ignore it. Also, uh, yeah, looks like I'm commenting on an out-of-date diff. SMH. Sorry.)
|
LGTM with Trott's nit fixed |
|
Nit addressed. One more CI: https://ci.nodejs.org/job/node-test-pull-request/3589/ |
|
still LGTM :-) |
|
Noticed a bug where the REPL module called to util.inspect(obj, undefined, undefined, true)The One last CI:
|
cc911f7 to
9942438
Compare
|
oh, good catch @silverwind |
9942438 to
c0dcd92
Compare
Adds util.inspect.defaultOptions which allows customization of the default util.inspect options, which is useful for functions like console.log or util.format which implicitly call into util.inspect. PR-URL: nodejs#8013 Fixes: nodejs#7566 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Evan Lucas <evanlucas@me.com>
c0dcd92 to
cfbb09b
Compare
Adds util.inspect.defaultOptions which allows customization of the default util.inspect options, which is useful for functions like console.log or util.format which implicitly call into util.inspect. PR-URL: #8013 Fixes: #7566 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Evan Lucas <evanlucas@me.com>
Adds util.inspect.defaultOptions which allows customization of the default util.inspect options, which is useful for functions like console.log or util.format which implicitly call into util.inspect. PR-URL: #8013 Fixes: #7566 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Evan Lucas <evanlucas@me.com>
|
There was a silly typo in the error message. I |
Adds util.inspect.defaultOptions which allows customization of the default util.inspect options, which is useful for functions like console.log or util.format which implicitly call into util.inspect. PR-URL: #8013 Fixes: #7566 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Evan Lucas <evanlucas@me.com>
Notable changes: * build: zlib symbols and additional OpenSSL symbols are now exposed on Windows platforms. (Alex Hultman) #7983 and #7576 * child_process, cluster: Forked child processes and cluster workers now support stdio configuration. (Colin Ihrig) #7811 and #7838 * fs: fs.ReadStream now exposes the number of bytes it has read so far. (Linus Unnebäck) #7942 * repl: The REPL now supports editor mode. (Prince J Wesley) #7275 * util: inspect() can now be configured globally using util.inspect.defaultOptions. (Roman Reiss) #8013 Refs: #8020 PR-URL: #8070
Notable changes: * build: zlib symbols and additional OpenSSL symbols are now exposed on Windows platforms. (Alex Hultman) #7983 and #7576 * child_process, cluster: Forked child processes and cluster workers now support stdio configuration. (Colin Ihrig) #7811 and #7838 * child_process: argv[0] can now be set to arbitrary values in spawned processes. (Pat Pannuto) #7696 * fs: fs.ReadStream now exposes the number of bytes it has read so far. (Linus Unnebäck) #7942 * repl: The REPL now supports editor mode. (Prince J Wesley) #7275 * util: inspect() can now be configured globally using util.inspect.defaultOptions. (Roman Reiss) #8013 Refs: #8020 PR-URL: #8070
Notable changes: * build: zlib symbols and additional OpenSSL symbols are now exposed on Windows platforms. (Alex Hultman) #7983 and #7576 * child_process, cluster: Forked child processes and cluster workers now support stdio configuration. (Colin Ihrig) #7811 and #7838 * child_process: argv[0] can now be set to arbitrary values in spawned processes. (Pat Pannuto) #7696 * fs: fs.ReadStream now exposes the number of bytes it has read so far. (Linus Unnebäck) #7942 * repl: The REPL now supports editor mode. (Prince J Wesley) #7275 * util: inspect() can now be configured globally using util.inspect.defaultOptions. (Roman Reiss) #8013 Refs: #8020 PR-URL: #8070
Notable changes: * build: zlib symbols and additional OpenSSL symbols are now exposed on Windows platforms. (Alex Hultman) nodejs#7983 and nodejs#7576 * child_process, cluster: Forked child processes and cluster workers now support stdio configuration. (Colin Ihrig) nodejs#7811 and nodejs#7838 * child_process: argv[0] can now be set to arbitrary values in spawned processes. (Pat Pannuto) nodejs#7696 * fs: fs.ReadStream now exposes the number of bytes it has read so far. (Linus Unnebäck) nodejs#7942 * repl: The REPL now supports editor mode. (Prince J Wesley) nodejs#7275 * util: inspect() can now be configured globally using util.inspect.defaultOptions. (Roman Reiss) nodejs#8013 Refs: nodejs#8020 PR-URL: nodejs#8070
Checklist
make -j4 test(UNIX), orvcbuild test nosign(Windows) passesAffected core subsystem(s)
util
Description of change
Adds the
util.inspect.config()method to allow customization of inspect options in cases whereutil.inspect()is implicitly called by core like inconsoleorutil.format.Fixes: #7566