Socket
Socket
Sign inDemoInstall

@babel/plugin-transform-parameters

Package Overview
Dependencies
1
Maintainers
4
Versions
91
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 7.21.4-esm to 7.21.4-esm.1

26

lib/index.js

@@ -1,17 +0,6 @@

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "convertFunctionParams", {
enumerable: true,
get: function () {
return _params.default;
}
});
exports.default = void 0;
var _helperPluginUtils = require("@babel/helper-plugin-utils");
var _params = require("./params");
var _rest = require("./rest");
var _default = (0, _helperPluginUtils.declare)((api, options) => {
import { declare } from "@babel/helper-plugin-utils";
import convertFunctionParams from "./params.js";
import convertFunctionRest from "./rest.js";
export { convertFunctionParams };
export default declare((api, options) => {
var _api$assumption, _api$assumption2;

@@ -32,4 +21,4 @@ api.assertVersion(7);

}
const convertedRest = (0, _rest.default)(path);
const convertedParams = (0, _params.default)(path, ignoreFunctionLength);
const convertedRest = convertFunctionRest(path);
const convertedParams = convertFunctionParams(path, ignoreFunctionLength);
if (convertedRest || convertedParams) {

@@ -42,4 +31,3 @@ path.scope.crawl();

});
exports.default = _default;
//# sourceMappingURL=index.js.map

@@ -1,10 +0,4 @@

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = convertFunctionParams;
var _core = require("@babel/core");
var _shadowUtils = require("./shadow-utils");
const buildDefaultParam = _core.template.statement(`
import { template, types as t } from "@babel/core";
import { iifeVisitor, collectShadowedParamsNames, buildScopeIIFE } from "./shadow-utils.js";
const buildDefaultParam = template.statement(`
let VARIABLE_NAME =

@@ -16,3 +10,3 @@ arguments.length > ARGUMENT_KEY && arguments[ARGUMENT_KEY] !== undefined ?

`);
const buildLooseDefaultParam = _core.template.statement(`
const buildLooseDefaultParam = template.statement(`
if (ASSIGNMENT_IDENTIFIER === UNDEFINED) {

@@ -22,9 +16,9 @@ ASSIGNMENT_IDENTIFIER = DEFAULT_VALUE;

`);
const buildLooseDestructuredDefaultParam = _core.template.statement(`
const buildLooseDestructuredDefaultParam = template.statement(`
let ASSIGNMENT_IDENTIFIER = PARAMETER_NAME === UNDEFINED ? DEFAULT_VALUE : PARAMETER_NAME ;
`);
const buildSafeArgumentsAccess = _core.template.statement(`
const buildSafeArgumentsAccess = template.statement(`
let $0 = arguments.length > $1 ? arguments[$1] : undefined;
`);
function convertFunctionParams(path, ignoreFunctionLength, shouldTransformParam, replaceRestElement) {
export default function convertFunctionParams(path, ignoreFunctionLength, shouldTransformParam, replaceRestElement) {
const params = path.get("params");

@@ -40,3 +34,3 @@ const isSimpleParameterList = params.every(param => param.isIdentifier());

for (const param of params) {
(0, _shadowUtils.collectShadowedParamsNames)(param, scope, shadowedParams);
collectShadowedParamsNames(param, scope, shadowedParams);
}

@@ -49,3 +43,3 @@ const state = {

for (const param of params) {
if (!param.isIdentifier()) param.traverse(_shadowUtils.iifeVisitor, state);
if (!param.isIdentifier()) param.traverse(iifeVisitor, state);
if (state.needsOuterBinding) break;

@@ -65,3 +59,3 @@ }

const paramIsAssignmentPattern = param.isAssignmentPattern();
if (paramIsAssignmentPattern && (ignoreFunctionLength || _core.types.isMethod(node, {
if (paramIsAssignmentPattern && (ignoreFunctionLength || t.isMethod(node, {
kind: "set"

@@ -74,3 +68,3 @@ }))) {

body.push(buildLooseDefaultParam({
ASSIGNMENT_IDENTIFIER: _core.types.cloneNode(left.node),
ASSIGNMENT_IDENTIFIER: t.cloneNode(left.node),
DEFAULT_VALUE: right.node,

@@ -85,3 +79,3 @@ UNDEFINED: undefinedNode

DEFAULT_VALUE: right.node,
PARAMETER_NAME: _core.types.cloneNode(paramName),
PARAMETER_NAME: t.cloneNode(paramName),
UNDEFINED: undefinedNode

@@ -98,7 +92,7 @@ }));

DEFAULT_VALUE: right.node,
ARGUMENT_KEY: _core.types.numericLiteral(i)
ARGUMENT_KEY: t.numericLiteral(i)
});
body.push(defNode);
} else if (firstOptionalIndex !== null) {
const defNode = buildSafeArgumentsAccess([param.node, _core.types.numericLiteral(i)]);
const defNode = buildSafeArgumentsAccess([param.node, t.numericLiteral(i)]);
body.push(defNode);

@@ -108,5 +102,5 @@ } else if (param.isObjectPattern() || param.isArrayPattern()) {

uid.typeAnnotation = param.node.typeAnnotation;
const defNode = _core.types.variableDeclaration("let", [_core.types.variableDeclarator(param.node, uid)]);
const defNode = t.variableDeclaration("let", [t.variableDeclarator(param.node, uid)]);
body.push(defNode);
param.replaceWith(_core.types.cloneNode(uid));
param.replaceWith(t.cloneNode(uid));
}

@@ -128,4 +122,4 @@ if (transformedRestNodes) {

if (generator || state.needsOuterBinding || shadowedParams.size > 0) {
body.push((0, _shadowUtils.buildScopeIIFE)(shadowedParams, path.node.body));
path.set("body", _core.types.blockStatement(body));
body.push(buildScopeIIFE(shadowedParams, path.node.body));
path.set("body", t.blockStatement(body));
const bodyPath = path.get("body.body");

@@ -139,3 +133,3 @@ const arrowPath = bodyPath[bodyPath.length - 1].get("argument.callee");

if (async) {
path.node.body = _core.template.statement.ast`{
path.node.body = template.statement.ast`{
try {

@@ -142,0 +136,0 @@ ${path.node.body.body}

@@ -1,10 +0,4 @@

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = convertFunctionRest;
var _core = require("@babel/core");
var _shadowUtils = require("./shadow-utils");
const buildRest = _core.template.statement(`
import { template, types as t } from "@babel/core";
import { iifeVisitor, collectShadowedParamsNames, buildScopeIIFE } from "./shadow-utils.js";
const buildRest = template.statement(`
for (var LEN = ARGUMENTS.length,

@@ -18,9 +12,9 @@ ARRAY = new Array(ARRAY_LEN),

`);
const restIndex = _core.template.expression(`
const restIndex = template.expression(`
(INDEX < OFFSET || ARGUMENTS.length <= INDEX) ? undefined : ARGUMENTS[INDEX]
`);
const restIndexImpure = _core.template.expression(`
const restIndexImpure = template.expression(`
REF = INDEX, (REF < OFFSET || ARGUMENTS.length <= REF) ? undefined : ARGUMENTS[REF]
`);
const restLength = _core.template.expression(`
const restLength = template.expression(`
ARGUMENTS.length <= OFFSET ? 0 : ARGUMENTS.length - OFFSET

@@ -114,3 +108,3 @@ `);

let count = node.params.length;
if (count > 0 && _core.types.isIdentifier(node.params[0], {
if (count > 0 && t.isIdentifier(node.params[0], {
name: "this"

@@ -124,14 +118,14 @@ })) {

const length = node.params.length;
return length > 0 && _core.types.isRestElement(node.params[length - 1]);
return length > 0 && t.isRestElement(node.params[length - 1]);
}
function optimiseIndexGetter(path, argsId, offset) {
const offsetLiteral = _core.types.numericLiteral(offset);
const offsetLiteral = t.numericLiteral(offset);
let index;
const parent = path.parent;
if (_core.types.isNumericLiteral(parent.property)) {
index = _core.types.numericLiteral(parent.property.value + offset);
if (t.isNumericLiteral(parent.property)) {
index = t.numericLiteral(parent.property.value + offset);
} else if (offset === 0) {
index = parent.property;
} else {
index = _core.types.binaryExpression("+", parent.property, _core.types.cloneNode(offsetLiteral));
index = t.binaryExpression("+", parent.property, t.cloneNode(offsetLiteral));
}

@@ -152,3 +146,3 @@ const {

INDEX: index,
REF: _core.types.cloneNode(temp)
REF: t.cloneNode(temp)
}));

@@ -177,3 +171,3 @@ } else {

ARGUMENTS: argsId,
OFFSET: _core.types.numericLiteral(offset)
OFFSET: t.numericLiteral(offset)
}));

@@ -184,3 +178,3 @@ } else {

}
function convertFunctionRest(path) {
export default function convertFunctionRest(path) {
const {

@@ -194,3 +188,3 @@ node,

const shadowedParams = new Set();
(0, _shadowUtils.collectShadowedParamsNames)(restPath, path.scope, shadowedParams);
collectShadowedParamsNames(restPath, path.scope, shadowedParams);
let needsIIFE = shadowedParams.size > 0;

@@ -202,3 +196,3 @@ if (!needsIIFE) {

};
restPath.traverse(_shadowUtils.iifeVisitor, state);
restPath.traverse(iifeVisitor, state);
needsIIFE = state.needsOuterBinding;

@@ -208,3 +202,3 @@ }

path.ensureBlock();
path.set("body", _core.types.blockStatement([(0, _shadowUtils.buildScopeIIFE)(shadowedParams, path.node.body)]));
path.set("body", t.blockStatement([buildScopeIIFE(shadowedParams, path.node.body)]));
}

@@ -214,6 +208,6 @@ }

node.params.pop();
if (_core.types.isPattern(rest)) {
if (t.isPattern(rest)) {
const pattern = rest;
rest = scope.generateUidIdentifier("ref");
const declar = _core.types.variableDeclaration("let", [_core.types.variableDeclarator(pattern, rest)]);
const declar = t.variableDeclaration("let", [t.variableDeclarator(pattern, rest)]);
path.ensureBlock();

@@ -224,3 +218,3 @@ node.body.body.unshift(declar);

}
const argsId = _core.types.identifier("arguments");
const argsId = t.identifier("arguments");
const paramsCount = getParamsCount(node);

@@ -242,3 +236,3 @@ const state = {

} of state.candidates) {
const clonedArgsId = _core.types.cloneNode(argsId);
const clonedArgsId = t.cloneNode(argsId);
switch (cause) {

@@ -260,3 +254,3 @@ case "indexGetter":

}) => path));
const start = _core.types.numericLiteral(paramsCount);
const start = t.numericLiteral(paramsCount);
const key = scope.generateUidIdentifier("key");

@@ -266,7 +260,7 @@ const len = scope.generateUidIdentifier("len");

if (paramsCount) {
arrKey = _core.types.binaryExpression("-", _core.types.cloneNode(key), _core.types.cloneNode(start));
arrLen = _core.types.conditionalExpression(_core.types.binaryExpression(">", _core.types.cloneNode(len), _core.types.cloneNode(start)), _core.types.binaryExpression("-", _core.types.cloneNode(len), _core.types.cloneNode(start)), _core.types.numericLiteral(0));
arrKey = t.binaryExpression("-", t.cloneNode(key), t.cloneNode(start));
arrLen = t.conditionalExpression(t.binaryExpression(">", t.cloneNode(len), t.cloneNode(start)), t.binaryExpression("-", t.cloneNode(len), t.cloneNode(start)), t.numericLiteral(0));
} else {
arrKey = _core.types.identifier(key.name);
arrLen = _core.types.identifier(len.name);
arrKey = t.identifier(key.name);
arrLen = t.identifier(len.name);
}

@@ -273,0 +267,0 @@ const loop = buildRest({

@@ -1,11 +0,3 @@

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.buildScopeIIFE = buildScopeIIFE;
exports.collectShadowedParamsNames = collectShadowedParamsNames;
exports.iifeVisitor = void 0;
var _core = require("@babel/core");
const iifeVisitor = {
import { types as t } from "@babel/core";
export const iifeVisitor = {
"ReferencedIdentifier|BindingIdentifier"(path, state) {

@@ -26,4 +18,3 @@ const {

};
exports.iifeVisitor = iifeVisitor;
function collectShadowedParamsNames(param, functionScope, shadowedParams) {
export function collectShadowedParamsNames(param, functionScope, shadowedParams) {
for (const name of Object.keys(param.getBindingIdentifiers())) {

@@ -56,12 +47,12 @@ var _functionScope$bindin;

}
function buildScopeIIFE(shadowedParams, body) {
export function buildScopeIIFE(shadowedParams, body) {
const args = [];
const params = [];
for (const name of shadowedParams) {
args.push(_core.types.identifier(name));
params.push(_core.types.identifier(name));
args.push(t.identifier(name));
params.push(t.identifier(name));
}
return _core.types.returnStatement(_core.types.callExpression(_core.types.arrowFunctionExpression(params, body), args));
return t.returnStatement(t.callExpression(t.arrowFunctionExpression(params, body), args));
}
//# sourceMappingURL=shadow-utils.js.map
{
"name": "@babel/plugin-transform-parameters",
"version": "7.21.4-esm",
"version": "7.21.4-esm.1",
"description": "Compile ES2015 default and rest parameters to ES5",

@@ -17,3 +17,3 @@ "repository": {

"dependencies": {
"@babel/helper-plugin-utils": "^7.21.4-esm"
"@babel/helper-plugin-utils": "^7.21.4-esm.1"
},

@@ -24,7 +24,7 @@ "keywords": [

"peerDependencies": {
"@babel/core": "^7.0.0-0 || 7.21.4-esm"
"@babel/core": "^7.0.0-0 || 7.21.4-esm.1"
},
"devDependencies": {
"@babel/core": "^7.21.4-esm",
"@babel/helper-plugin-test-runner": "^7.21.4-esm"
"@babel/core": "^7.21.4-esm.1",
"@babel/helper-plugin-test-runner": "^7.21.4-esm.1"
},

@@ -35,3 +35,3 @@ "engines": {

"author": "The Babel Team (https://babel.dev/team)",
"type": "commonjs"
"type": "module"
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc