You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
1.0 KiB
Markdown
62 lines
1.0 KiB
Markdown
6 years ago
|
# babel-plugin-transform-es2015-duplicate-keys
|
||
|
|
||
|
> Compile objects with duplicate keys to valid strict ES5.
|
||
|
|
||
|
This plugin actually converts duplicate keys in objects to be computed properties, which then must be handled by the [transform-es2015-computed-properties](http://babeljs.io/docs/plugins/transform-es2015-computed-properties) plugin. The final result won't contain any object literals with duplicate keys.
|
||
|
|
||
|
## Example
|
||
|
|
||
|
**In**
|
||
|
|
||
|
```javascript
|
||
|
var x = { a: 5, a: 6 };
|
||
|
var y = {
|
||
|
get a() {},
|
||
|
set a(x) {},
|
||
|
a: 3
|
||
|
};
|
||
|
```
|
||
|
|
||
|
**Out**
|
||
|
|
||
|
```javascript
|
||
|
var x = { a: 5, ["a"]: 6 };
|
||
|
var y = {
|
||
|
get a() {},
|
||
|
set a(x) {},
|
||
|
["a"]: 3
|
||
|
};
|
||
|
```
|
||
|
|
||
|
## Installation
|
||
|
|
||
|
```sh
|
||
|
npm install --save-dev babel-plugin-transform-es2015-duplicate-keys
|
||
|
```
|
||
|
|
||
|
## Usage
|
||
|
|
||
|
### Via `.babelrc` (Recommended)
|
||
|
|
||
|
**.babelrc**
|
||
|
|
||
|
```json
|
||
|
{
|
||
|
"plugins": ["transform-es2015-duplicate-keys"]
|
||
|
}
|
||
|
```
|
||
|
|
||
|
### Via CLI
|
||
|
|
||
|
```sh
|
||
|
babel --plugins transform-es2015-duplicate-keys script.js
|
||
|
```
|
||
|
|
||
|
### Via Node API
|
||
|
|
||
|
```javascript
|
||
|
require("babel-core").transform("code", {
|
||
|
plugins: ["transform-es2015-duplicate-keys"]
|
||
|
});
|
||
|
```
|