setup-node/node_modules/deprecation/README.md

78 lines
1.3 KiB
Markdown
Raw Normal View History

2019-08-06 03:18:52 +08:00
# deprecation
> Log a deprecation message with stack
![build](https://action-badges.now.sh/gr2m/deprecation)
## Usage
<table>
<tbody valign=top align=left>
<tr><th>
Browsers
</th><td width=100%>
Load `deprecation` directly from [cdn.pika.dev](https://cdn.pika.dev)
```html
<script type="module">
import { Deprecation } from "https://cdn.pika.dev/deprecation/v2";
</script>
```
</td></tr>
<tr><th>
Node
</th><td>
Install with `npm install deprecation`
```js
const { Deprecation } = require("deprecation");
// or: import { Deprecation } from "deprecation";
```
</td></tr>
</tbody>
</table>
```js
function foo() {
bar();
}
function bar() {
baz();
}
function baz() {
console.warn(new Deprecation("[my-lib] foo() is deprecated, use bar()"));
}
foo();
// { Deprecation: [my-lib] foo() is deprecated, use bar()
// at baz (/path/to/file.js:12:15)
// at bar (/path/to/file.js:8:3)
// at foo (/path/to/file.js:4:3)
```
To log a deprecation message only once, you can use the [once](https://www.npmjs.com/package/once) module.
```js
const Deprecation = require("deprecation");
const once = require("once");
const deprecateFoo = once(console.warn);
function foo() {
deprecateFoo(new Deprecation("[my-lib] foo() is deprecated, use bar()"));
}
foo();
foo(); // logs nothing
```
## License
[ISC](LICENSE)