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