|
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- # babel-plugin-transform-decorators
-
- > Compile class and object decorators to ES5
-
- ## Example
-
- (examples are from proposal)
-
- ### Simple class decorator
-
- ```js
- @annotation
- class MyClass { }
-
- function annotation(target) {
- target.annotated = true;
- }
- ```
-
- ### Class decorator
-
- ```js
- @isTestable(true)
- class MyClass { }
-
- function isTestable(value) {
- return function decorator(target) {
- target.isTestable = value;
- }
- }
- ```
-
- ### Class function decorator
-
- ```js
- class C {
- @enumerable(false)
- method() { }
- }
-
- function enumerable(value) {
- return function (target, key, descriptor) {
- descriptor.enumerable = value;
- return descriptor;
- }
- }
- ```
-
- ## Installation
-
- ```sh
- npm install --save-dev babel-plugin-transform-decorators
- ```
-
- ## Usage
-
- ### Via `.babelrc` (Recommended)
-
- **.babelrc**
-
- ```json
- {
- "plugins": ["transform-decorators"]
- }
- ```
-
- ### Via CLI
-
- ```sh
- babel --plugins transform-decorators script.js
- ```
-
- ### Via Node API
-
- ```javascript
- require("babel-core").transform("code", {
- plugins: ["transform-decorators"]
- });
- ```
-
- ## References
-
- * [Proposal: Javascript Decorators](https://github.com/wycats/javascript-decorators/blob/master/README.md)
|