Socket
Socket
Sign inDemoInstall

@babel/plugin-transform-parameters

Package Overview
Dependencies
Maintainers
5
Versions
97
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@babel/plugin-transform-parameters - npm Package Compare versions

Comparing version 7.0.0-beta.49 to 7.0.0-beta.50

12

package.json
{
"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
```
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc