| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
There was a problem hiding this comment.
tiny nits: Maybe capitalize Array elements consistently in this line, and enclose the constant 0 in backticks?
Sorry, something went wrong.
|
Maybe copy the added tests to cover TypedArray, too? Either way, LGTM. |
Sorry, something went wrong.
|
What's so special about arrays? Why not make it a more general maxBytes that would apply to objects and strings too? -1 from me in the current form. |
Sorry, something went wrong.
|
Oh, and the option for infinity is inconsistent with the depth option of the same function, where null means unrestricted logging. |
Sorry, something went wrong.
|
We already have depth for objects. Would not be opposed to adding a limit for strings. maxBytes could be a bit difficult to track based on how inspect is building things out. Not impossible, of course, just a bit more complicated. Perhaps we can make the option maxLength and have it mean maximum number of characters when inspecting a string, and mean maximum number of elements when inspecting an array? |
Sorry, something went wrong.
|
oh, and to answer the question about what's special about arrays ... attempting to inspect an array that's too large brings the node process down. I have no issue with evolving this to place other limits, but limiting the array output is the bit we currently have open issues on. See #5070 |
Sorry, something went wrong.
|
Updated, PTAL |
Sorry, something went wrong.
|
Still LGTM. I’d say arrays are also special because they are the appropriate data type for (possibly large amounts) of homogeneous data, so omitting out a number of items is probably usually okay. Maybe something like this change would make sense for strings too, but not for objects, because there would be no natural way of guessing which keys to leave out when printing. |
Sorry, something went wrong.
|
@silverwind ... any further thoughts on this? do you still object? |
Sorry, something went wrong.
|
@jasnell no, seems reasonable. I'm only concerned about the option. depth takes null, maxArrayLength takes null or Infinity. How about making it just null for consistency? |
Sorry, something went wrong.
|
@silverwind ... I can do that... but how about only in docs? If someone happens to pass Infinity it would still just work. |
Sorry, something went wrong.
|
LGTM |
Sorry, something went wrong.
Sorry, something went wrong.
|
@silverwind ... updated the doc to only mention setting maxArrayLength to null to specify no limit. Infinity can still be passed and it would work, but the only documented option is null to keep it consistent. Also made one other minor cleanup tweak. Running CI now. Assuming CI is green and there are no objections, I'll land on Monday. |
Sorry, something went wrong.
|
CI is green. |
Sorry, something went wrong.
There was a problem hiding this comment.
Why not just set to Infinity for all elements?
Sorry, something went wrong.
There was a problem hiding this comment.
See prior discussion.
Sorry, something went wrong.
|
lgtm if nits are addressed |
Sorry, something went wrong.
|
If this is already major, maybe prefer moving the preference to Infinity over null for the other option? Or would it be better to do that in a new PR? |
Sorry, something went wrong.
|
Infinity also work on depth, so I guess it's fine to leave it undocumented: > util.inspect({a:{a:{a:{a:1}}}})
'{ a: { a: { a: [Object] } } }'
> util.inspect({a:{a:{a:{a:1}}}}, {depth: null})
'{ a: { a: { a: { a: 1 } } } }'
> util.inspect({a:{a:{a:{a:1}}}}, {depth: Infinity})
'{ a: { a: { a: { a: 1 } } } }'LGTM |
Sorry, something went wrong.
|
@silverwind @addaleax @mcollina ... any thoughts on whether this has to be semver-major or do you think we can treat it as a bug fix? |
Sorry, something went wrong.
|
I don't think very many changes to util.inspect() should be considered major. It's primary purpose is creating human-readable output. |
Sorry, something went wrong.
|
I guess semver-minor would be fine. |
Sorry, something went wrong.
|
+1 to semver-minor. |
Sorry, something went wrong.
|
New CI after rebase: https://ci.nodejs.org/job/node-test-pull-request/2484/ |
Sorry, something went wrong.
As an alternative to nodejs#5070, set the max length of Arrays/TypedArrays in util.inspect() to `100` and provide a `maxArrayLength` option to override.
|
Green. unrelated flaky timeout in rpi. |
Sorry, something went wrong.
As an alternative to #5070, set the max length of Arrays/TypedArrays in util.inspect() to `100` and provide a `maxArrayLength` option to override. PR-URL: #6334 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com> Reviewed-By: Roman Reiss <me@silverwind.io>
|
Ok for semver-minor. |
Sorry, something went wrong.
As an alternative to #5070, set the max length of Arrays/TypedArrays in util.inspect() to `100` and provide a `maxArrayLength` option to override. PR-URL: #6334 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com> Reviewed-By: Roman Reiss <me@silverwind.io>
As an alternative to nodejs#5070, set the max length of Arrays/TypedArrays in util.inspect() to `100` and provide a `maxArrayLength` option to override. PR-URL: nodejs#6334 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com> Reviewed-By: Roman Reiss <me@silverwind.io>
* assert: `deep{Strict}Equal()` now works correctly with circular
references. (Rich Trott) #6432
* debugger: Arrays are now formatted correctly in the debugger repl.
(cjihrig) #6448
* deps: Upgrade OpenSSL sources to 1.0.2h (Shigeki Ohtsu)
#6550
* net: Introduced a `Socket#connecting` property. (Fedor Indutny)
#6404
- Previously this information was only available as the undocumented,
internal `_connecting` property.
* process: Introduced `process.cpuUsage()`. (Patrick Mueller)
#6157
* stream: `Writable#setDefaultEncoding()` now returns `this`.
(Alexander Makarenko) #5040
* util: Two new additions to `util.inspect()`:
- Added a `maxArrayLength` option to truncate the formatting of
Arrays. (James M Snell) #6334
- This is set to `100` by default.
- Added a `showProxy` option for formatting proxy intercepting
handlers. (James M Snell) #6465
- Inspecting proxies is non-trivial and as such this is off by
default.
PR-URL: #6557
* assert: `deep{Strict}Equal()` now works correctly with circular
references. (Rich Trott) #6432
* debugger: Arrays are now formatted correctly in the debugger repl.
(cjihrig) #6448
* deps: Upgrade OpenSSL sources to 1.0.2h (Shigeki Ohtsu)
#6550
- Please see our blog post for more info on the security contents of this release:
- https://nodejs.org/en/blog/vulnerability/openssl-may-2016/
* net: Introduced a `Socket#connecting` property. (Fedor Indutny)
#6404
- Previously this information was only available as the undocumented,
internal `_connecting` property.
* process: Introduced `process.cpuUsage()`. (Patrick Mueller)
#6157
* stream: `Writable#setDefaultEncoding()` now returns `this`.
(Alexander Makarenko) #5040
* util: Two new additions to `util.inspect()`:
- Added a `maxArrayLength` option to truncate the formatting of
Arrays. (James M Snell) #6334
- This is set to `100` by default.
- Added a `showProxy` option for formatting proxy intercepting
handlers. (James M Snell) #6465
- Inspecting proxies is non-trivial and as such this is off by
default.
PR-URL: #6557
* assert: `deep{Strict}Equal()` now works correctly with circular
references. (Rich Trott) #6432
* debugger: Arrays are now formatted correctly in the debugger repl.
(cjihrig) #6448
* deps: Upgrade OpenSSL sources to 1.0.2h (Shigeki Ohtsu)
#6550
- Please see our blog post for more info on the security contents of
this release:
- https://nodejs.org/en/blog/vulnerability/openssl-may-2016/
* net: Introduced a `Socket#connecting` property. (Fedor Indutny)
#6404
- Previously this information was only available as the undocumented,
internal `_connecting` property.
* process: Introduced `process.cpuUsage()`. (Patrick Mueller)
#6157
* stream: `Writable#setDefaultEncoding()` now returns `this`.
(Alexander Makarenko) #5040
* util: Two new additions to `util.inspect()`:
- Added a `maxArrayLength` option to truncate the formatting of
Arrays. (James M Snell) #6334
- This is set to `100` by default.
- Added a `showProxy` option for formatting proxy intercepting
handlers. (James M Snell) #6465
- Inspecting proxies is non-trivial and as such this is off by
default.
PR-URL: #6557
| Back | FazBrowse Home | New Git URL |
Checklist
Affected core subsystem(s)
util
Description of change
As an alternative to #5070, set the max length of Arrays/TypedArrays in util.inspect() to 100 and provide a maxArrayLength option to override.