Object rest spread transform
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
© 2018 Sebastian McKenzie
Licensed under the MIT License.
http://babeljs.io/docs/plugins/transform-object-rest-spread/