shichen b6c5ecc67a init 10 місяців тому
..
lib b6c5ecc67a init 10 місяців тому
.npmignore b6c5ecc67a init 10 місяців тому
README.md b6c5ecc67a init 10 місяців тому
package.json b6c5ecc67a init 10 місяців тому

README.md

babel-plugin-transform-object-rest-spread

This plugin allows Babel to transform rest properties for object destructuring assignment and spread properties for object literals.

Example

Rest Properties

let { x, y, ...z } = { x: 1, y: 2, a: 3, b: 4 };
console.log(x); // 1
console.log(y); // 2
console.log(z); // { a: 3, b: 4 }

Spread Properties

let n = { x, y, ...z };
console.log(n); // { x: 1, y: 2, a: 3, b: 4 }

Installation

npm install --save-dev babel-plugin-transform-object-rest-spread

Usage

Via .babelrc (Recommended)

.babelrc

{
  "plugins": ["transform-object-rest-spread"]
}

Via CLI

babel --plugins transform-object-rest-spread script.js

Via Node API

require("babel-core").transform("code", {
  plugins: ["transform-object-rest-spread"]
});

Options

useBuiltIns

boolean, defaults to false.

By default, this plugin uses Babel's extends helper which polyfills Object.assign. Enabling this option will use Object.assign directly.

.babelrc

{
  "plugins": [
    ["transform-object-rest-spread", { "useBuiltIns": true }]
  ]
}

In

z = { x, ...y };

Out

z = Object.assign({ x }, y);

References