-
Notifications
You must be signed in to change notification settings - Fork 30.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
doc: changed util.inspect signature #23216
Conversation
doc/api/util.md
Outdated
@@ -356,7 +356,7 @@ stream.on('data', (data) => { | |||
stream.write('With ES6'); | |||
``` | |||
|
|||
## util.inspect(object[, options]) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This does not seem to be completely correct. You want to add the legacy signature which is:
## util.inspect(object[, showHidden[, depth[, colors]]])
The options signature is not compatible with it since it's not possible to combine the legacy one and the new one. So a separate entry would be required in this case. However, I am not fond of actually documenting it. It uses boolean arguments and those are difficult to grasp without actively looking into the documentation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Somebody rose an issue on this one , are you sure you don't want it documented
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
However, I am not fond of actually documenting it. It uses boolean arguments and those are difficult to grasp without actively looking into the documentation.
If the signature is "difficult to grasp without actively looking into the documentation", that would seem to argue for documenting it. I'd certainly be in favor of applying a doc-only deprecation to that signature (if it's not already deprecated) though.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(Specifically: If someone comes across util.inspect()
being used this way, they should be able to find the signature in the documentation. The deprecation would be to discourage its further use this way. But people should still be able to use the docs to help them figure out code that already exists.)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you tell me the correct signature so I can make another pr on this one?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe there's needs to be two separate signatures, one for when there is an options
object and one for when there are the other arguments.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So I'm guessing the answer to @siddhant1's question is:
## util.inspect(object[, showHidden[, depth[, colors]]])
AND
## util.inspect(object[, options])
Refs: #23205 |
Should I add a legacy or deprecated patch to the legacy one? |
IMHO it should be documented as having two signatures. I thought I saw an example of such polymorphism in our docs, but I can't find it at the moment. P.S. I found a not-so-good example https://nodejs.org/api/fs.html#fs_fs_readfilesync_path_options |
Okay I will take a look at previously documented API's and work on this one. |
Thanks for the help dude! , I am just starting out and I am glad to see such a healthy community. |
doc/api/util.md
Outdated
@@ -356,7 +357,9 @@ stream.on('data', (data) => { | |||
stream.write('With ES6'); | |||
``` | |||
|
|||
## util.inspect(object[, options]) | |||
|
|||
## util.inspect(object[,options] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Missing space after the comma and missing closing parenthesis) Should be the same line:
## util.inspect(object[, options])
doc/api/util.md
Outdated
## util.inspect(object[, options]) | ||
|
||
## util.inspect(object[,options] | ||
## util.inspect(object, [showHidden], [depth], [colors]) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We usually enclose commas and spaces inside brackets for optional parameters:
## util.inspect(object[, showHidden][, depth][, colors])
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Or this one if optionality is incremental:
## util.inspect(object[, showHidden[, depth[, colors]]])
doc/api/util.md
Outdated
@@ -435,6 +438,7 @@ changes: | |||
function, it is used as a [compare function][]. | |||
* Returns: {string} The representation of passed object | |||
|
|||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This empty line seems redundant)
doc/api/util.md
Outdated
@@ -356,7 +357,9 @@ stream.on('data', (data) => { | |||
stream.write('With ES6'); | |||
``` | |||
|
|||
## util.inspect(object[, options]) | |||
|
|||
## util.inspect(object[, options]) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: two spaces after the ##
produce unneeded diff.
doc/api/util.md
Outdated
## util.inspect(object[, options]) | ||
|
||
## util.inspect(object[, options]) | ||
## util.inspect(object[, showHidden][, depth][, colors]) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So should not this be ## util.inspect(object[, showHidden[, depth[, colors]]])
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am doing all these changes and squashing the commits into one
@vsemozhetbyt can you check them now! |
Thank you. Some extra empty lines can be deleted on landing. CI-lite: https://ci.nodejs.org/job/node-test-pull-request-lite-pipeline/1154/ (green) |
Dear reviewers, PTAL. |
Landed in 5e63cf2 |
PR-URL: #23216 Fixes: #23205 Reviewed-By: Vse Mozhet Byt <[email protected]> Reviewed-By: James M Snell <[email protected]>
PR-URL: #23216 Fixes: #23205 Reviewed-By: Vse Mozhet Byt <[email protected]> Reviewed-By: James M Snell <[email protected]>
PR-URL: #23216 Fixes: #23205 Reviewed-By: Vse Mozhet Byt <[email protected]> Reviewed-By: James M Snell <[email protected]>
Checklist
make -j4 test
(UNIX), orvcbuild test
(Windows) passes