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