babel/packages/babel-plugin-transform-object-rest-spread
Henry Zhu 5e0508d57c object rest - fix when destructuring in variables/parameters (#4755)
* object rest - fix when destructuring in variables/parameters

* fixes + ExportNamedDeclaration support

* Account for CatchClause

* support ForXStatement

* support assignment expression? + PR fixes
2016-11-15 11:31:03 -05:00
..
2016-09-28 15:38:45 -04:00

babel-plugin-transform-object-rest-spread

Compile object rest and spread to ES5

// source
z = { x, ...y };

// compiled
_extends = Object.assign || function(target) { ... }
z = _extends({ x }, y);

Installation

$ npm install babel-plugin-transform-object-rest-spread

Usage

.babelrc

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

Options

This plugin will use babel's extends helper, which will polyfill Object.assign by default.

  • useBuiltIns - Do not use Babel's helper's and just transform to use the built-in method (Disabled by default).
{
  "plugins": [
    ["transform-object-rest-spread", { "useBuiltIns": true }]
  ]
}

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

Via CLI

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

Via Node API

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