Skip to content
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: add code example to process.throwDeprecation property #29495

Closed
wants to merge 4 commits into from
Closed
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 21 additions & 5 deletions doc/api/process.md
Original file line number Diff line number Diff line change
Expand Up @@ -2222,11 +2222,27 @@ added: v0.9.12

* {boolean}

The `process.throwDeprecation` property indicates whether the
`--throw-deprecation` flag is set on the current Node.js process. See the
documentation for the [`'warning'` event][process_warning] and the
[`emitWarning()` method][process_emit_warning] for more information about this
flag's behavior.
The `process.throwDeprecation` is a mutable property at runtime which
Copy link
Member

@Trott Trott Sep 18, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This text is a little confusing.

  • It's not clear what the difference between "mutable property at runtime" vs. "mutable property" would be. I don't think there is any in this case.
  • Since it is mutable, it doesn't necessarily indicate whether the command line flag is set.

Maybe something more like this?

The initial value of `process.throwDeprecation` indicates whether the 
`--throw-deprecation` flag is set on the current Node.js process. See
the documentation for the [`'warning'` event][process_warning] and the
[`emitWarning()` method][process_emit_warning] for more information.
`process.throwDeprecation` is mutable, so whether or not deprecation
warnings results in an error may be altered at runtime. 

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeap, that's quite confusing.

Your proposal seems to be more clear than mine (on my opinion), but on my reading experience, I think is quite better switch the order of the sentences about process.throwDeprecation property and emitWarning() and warning event, to make that paragraph with a little bit more of cohesion.

Fixed on bf3bcf7.

indicates whether the `--throw-deprecation` flag is set on the current Node.js
process. See the documentation for the [`'warning'` event][process_warning] and
the [`emitWarning()` method][process_emit_warning] for more information about
this flag's behavior.

```console
$ node --throw-deprecation -p "process.throwDeprecation"
true
$ node -p "process.throwDeprecation"
undefined
$ node
> process.emitWarning('test', 'DeprecationWarning');
undefined
> (node:26598) DeprecationWarning: test
> process.throwDeprecation = true;
true
> process.emitWarning('test', 'DeprecationWarning');
Thrown:
{ [DeprecationWarning: test] name: 'DeprecationWarning' }
```
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It may be worthwhile to include an example that shows process.throwDeprecation is mutable at runtime...

process.throwDeprecation = true;

process.emitWarning('test', 'DeprecationWarning');
// will cause an error to be thrown

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Totally worth it!

Copy link
Member Author

@juanarbol juanarbol Sep 11, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should docs change? I mean, may say that process. throwDeprecation is mutable at runtime like: "The process.throwDeprecation is a mutable property at runtime which indicates...". And of course, add your example

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That would be good, I think


## process.title
<!-- YAML
Expand Down