Skip to content

Latest commit

 

History

History
74 lines (52 loc) · 1.37 KB

File metadata and controls

74 lines (52 loc) · 1.37 KB

babel-plugin-transform-es2015-parameters

Compile ES2015 default and rest parameters to ES5

This plugin transforms ES2015 parameters to ES5, this includes:

  • Destructuring parameters
  • Default parameters
  • Rest parameters

Examples

In

function test(x = "hello", { a, b }, ...args) {
  console.log(x, a, b, args);
}

Out

function test() {
  var x = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "hello";
  var _ref = arguments[1];
  var a = _ref.a,
      b = _ref.b;

  for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
    args[_key - 2] = arguments[_key];
  }

  console.log(x, a, b, args);
}

Installation

npm install --save-dev babel-plugin-transform-es2015-parameters

Caveats

Default parameters desugar into let declarations to retain proper semantics. If this is not supported in your environment then you'll need the transform-block-scoping plugin.

Usage

Via .babelrc (Recommended)

.babelrc

{
  "plugins": ["transform-es2015-parameters"]
}

Via CLI

babel --plugins transform-es2015-parameters script.js

Via Node API

require("babel-core").transform("code", {
  plugins: ["transform-es2015-parameters"]
});