@babel/plugin-transform-parameters
Advanced tools
+6
-6
| { | ||
| "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" | ||
| } | ||
| } |
+6
-81
@@ -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 | ||
| ``` |
Sorry, the diff of this file is not supported yet
Uses eval
Supply chain riskPackage uses dynamic code execution (e.g., eval()), which is a dangerous practice. This can prevent the code from running in certain environments and increases the risk that the code may contain exploits or malicious behavior.
Found 1 instance in 1 package
Uses eval
Supply chain riskPackage uses dynamic code execution (e.g., eval()), which is a dangerous practice. This can prevent the code from running in certain environments and increases the risk that the code may contain exploits or malicious behavior.
Found 1 instance in 1 package
14314
-10.29%5
-16.67%20
-78.95%+ Added
+ Added
+ Added
+ Added
- Removed
- Removed
- Removed
- Removed