feat: refactoring project

This commit is contained in:
Carlos
2024-11-23 14:56:07 -05:00
parent f0c2a50c18
commit 1c6db5818d
2351 changed files with 39323 additions and 60326 deletions

View File

@@ -105,7 +105,39 @@ class DestructuringTransformer {
if (this.iterableIsArray || core.types.isIdentifier(node) && this.arrayRefSet.has(node.name)) {
return node;
} else {
return this.scope.toArray(node, count, this.arrayLikeIsIterable);
const {
scope,
arrayLikeIsIterable
} = this;
if (core.types.isIdentifier(node)) {
const binding = scope.getBinding(node.name);
if (binding != null && binding.constant && binding.path.isGenericType("Array")) {
return node;
}
}
if (core.types.isArrayExpression(node)) {
return node;
}
if (core.types.isIdentifier(node, {
name: "arguments"
})) {
return core.template.expression.ast`
Array.prototype.slice.call(${node})
`;
}
let helperName;
const args = [node];
if (typeof count === "number") {
args.push(core.types.numericLiteral(count));
helperName = "slicedToArray";
} else {
helperName = "toArray";
}
if (arrayLikeIsIterable) {
args.unshift(scope.path.hub.addHelper(helperName));
helperName = "maybeArrayLike";
}
return core.types.callExpression(scope.path.hub.addHelper(helperName), args);
}
}
pushAssignmentPattern({

File diff suppressed because one or more lines are too long

View File

@@ -1,6 +1,6 @@
{
"name": "@babel/plugin-transform-destructuring",
"version": "7.24.8",
"version": "7.25.9",
"description": "Compile ES2015 destructuring to ES5",
"repository": {
"type": "git",
@@ -17,15 +17,15 @@
"babel-plugin"
],
"dependencies": {
"@babel/helper-plugin-utils": "^7.24.8"
"@babel/helper-plugin-utils": "^7.25.9"
},
"peerDependencies": {
"@babel/core": "^7.0.0-0"
},
"devDependencies": {
"@babel/core": "^7.24.8",
"@babel/helper-plugin-test-runner": "^7.24.7",
"@babel/traverse": "^7.24.8"
"@babel/core": "^7.25.9",
"@babel/helper-plugin-test-runner": "^7.25.9",
"@babel/traverse": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"

View File

@@ -1,17 +0,0 @@
/* This file is automatically generated by scripts/generators/tsconfig.js */
{
"extends": [
"../../tsconfig.base.json",
"../../tsconfig.paths.json"
],
"include": [
"../../packages/babel-plugin-transform-destructuring/src/**/*.ts",
"../../lib/globals.d.ts",
"../../scripts/repo-utils/*.d.ts"
],
"references": [
{
"path": "../../packages/babel-helper-plugin-utils"
}
]
}

File diff suppressed because one or more lines are too long