@babel/plugin-transform-parameters
Advanced tools
Comparing version 7.0.0-beta.49 to 7.0.0-beta.50
{ | ||
"name": "@babel/plugin-transform-parameters", | ||
"version": "7.0.0-beta.49", | ||
"version": "7.0.0-beta.50", | ||
"description": "Compile ES2015 default and rest parameters to ES5", | ||
@@ -9,5 +9,5 @@ "repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-parameters", | ||
"dependencies": { | ||
"@babel/helper-call-delegate": "7.0.0-beta.49", | ||
"@babel/helper-get-function-arity": "7.0.0-beta.49", | ||
"@babel/helper-plugin-utils": "7.0.0-beta.49" | ||
"@babel/helper-call-delegate": "7.0.0-beta.50", | ||
"@babel/helper-get-function-arity": "7.0.0-beta.50", | ||
"@babel/helper-plugin-utils": "7.0.0-beta.50" | ||
}, | ||
@@ -21,5 +21,5 @@ "keywords": [ | ||
"devDependencies": { | ||
"@babel/core": "7.0.0-beta.49", | ||
"@babel/helper-plugin-test-runner": "7.0.0-beta.49" | ||
"@babel/core": "7.0.0-beta.50", | ||
"@babel/helper-plugin-test-runner": "7.0.0-beta.50" | ||
} | ||
} |
@@ -5,91 +5,16 @@ # @babel/plugin-transform-parameters | ||
This plugin transforms ES2015 parameters to ES5, this includes: | ||
See our website [@babel/plugin-transform-parameters](https://new.babeljs.io/docs/en/next/babel-plugin-transform-parameters.html) for more information. | ||
- Destructuring parameters | ||
- Default parameters | ||
- Rest parameters | ||
## Install | ||
## Examples | ||
Using npm: | ||
**In** | ||
```javascript | ||
function test(x = "hello", { a, b }, ...args) { | ||
console.log(x, a, b, args); | ||
} | ||
``` | ||
**Out** | ||
```javascript | ||
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 | ||
```sh | ||
npm install --save-dev @babel/plugin-transform-parameters | ||
npm install --save @babel/plugin-transform-parameters | ||
``` | ||
## Caveats | ||
or using yarn: | ||
Default parameters desugar into `let` declarations to retain proper semantics. If this is | ||
not supported in your environment then you'll need the | ||
[@babel/plugin-transform-block-scoping](http://babeljs.io/docs/plugins/transform-block-scoping) plugin. | ||
## Usage | ||
### Via `.babelrc` (Recommended) | ||
**.babelrc** | ||
```json | ||
{ | ||
"plugins": ["@babel/plugin-transform-parameters"] | ||
} | ||
``` | ||
### Via CLI | ||
```sh | ||
babel --plugins @babel/plugin-transform-parameters script.js | ||
yarn add --save @babel/plugin-transform-parameters | ||
``` | ||
### Via Node API | ||
```javascript | ||
require("@babel/core").transform("code", { | ||
plugins: ["@babel/plugin-transform-parameters"] | ||
}); | ||
``` | ||
## Options | ||
### `loose` | ||
`boolean`, defaults to `false`. | ||
In loose mode, parameters with default values will be counted into the arity of the function. This is not spec behavior where these parameters do not add to function arity. | ||
The `loose` implementation is a more performant solution as JavaScript engines will fully optimize a function that doesn't reference `arguments`. Please do your own benchmarking and determine if this option is the right fit for your application. | ||
```javascript | ||
// Spec behavior | ||
function bar1 (arg1 = 1) {} | ||
bar1.length // 0 | ||
// Loose mode | ||
function bar1 (arg1 = 1) {} | ||
bar1.length // 1 | ||
``` |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
14314
5
20
+ Added@babel/helper-call-delegate@7.0.0-beta.50(transitive)
+ Added@babel/helper-get-function-arity@7.0.0-beta.50(transitive)
+ Added@babel/helper-hoist-variables@7.0.0-beta.50(transitive)
+ Added@babel/helper-plugin-utils@7.0.0-beta.50(transitive)
- Removed@babel/helper-call-delegate@7.0.0-beta.49(transitive)
- Removed@babel/helper-get-function-arity@7.0.0-beta.49(transitive)
- Removed@babel/helper-hoist-variables@7.0.0-beta.49(transitive)
- Removed@babel/helper-plugin-utils@7.0.0-beta.49(transitive)