78 lines
1.3 KiB
Markdown
78 lines
1.3 KiB
Markdown
|
# deprecation
|
||
|
|
||
|
> Log a deprecation message with stack
|
||
|
|
||
|

|
||
|
|
||
|
## 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)
|