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