@babel/plugin-transform-for-of
Advanced tools
Comparing version 7.21.4-esm.4 to 7.21.5
@@ -1,4 +0,10 @@ | ||
import { declare } from "@babel/helper-plugin-utils"; | ||
import { template, types as t } from "@babel/core"; | ||
import transformWithoutHelper from "./no-helper-implementation.js"; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.default = void 0; | ||
var _helperPluginUtils = require("@babel/helper-plugin-utils"); | ||
var _core = require("@babel/core"); | ||
var _noHelperImplementation = require("./no-helper-implementation"); | ||
function buildLoopBody(path, declar, newBody) { | ||
@@ -8,6 +14,6 @@ let block; | ||
const body = newBody != null ? newBody : bodyPath.node; | ||
if (t.isBlockStatement(body) && Object.keys(path.getBindingIdentifiers()).some(id => bodyPath.scope.hasOwnBinding(id))) { | ||
block = t.blockStatement([declar, body]); | ||
if (_core.types.isBlockStatement(body) && Object.keys(path.getBindingIdentifiers()).some(id => bodyPath.scope.hasOwnBinding(id))) { | ||
block = _core.types.blockStatement([declar, body]); | ||
} else { | ||
block = t.toBlock(body); | ||
block = _core.types.toBlock(body); | ||
block.body.unshift(declar); | ||
@@ -17,3 +23,3 @@ } | ||
} | ||
export default declare((api, options) => { | ||
var _default = (0, _helperPluginUtils.declare)((api, options) => { | ||
var _options$assumeArray, _options$allowArrayLi, _api$assumption; | ||
@@ -33,4 +39,6 @@ api.assertVersion(7); | ||
} | ||
if (allowArrayLike && /^7\.\d\./.test(api.version)) { | ||
throw new Error(`The allowArrayLike is only supported when using @babel/core@^7.10.0`); | ||
{ | ||
if (allowArrayLike && /^7\.\d\./.test(api.version)) { | ||
throw new Error(`The allowArrayLike is only supported when using @babel/core@^7.10.0`); | ||
} | ||
} | ||
@@ -62,17 +70,17 @@ } | ||
let array = scope.maybeGenerateMemoised(right, true); | ||
const inits = [t.variableDeclarator(i, t.numericLiteral(0))]; | ||
const inits = [_core.types.variableDeclarator(i, _core.types.numericLiteral(0))]; | ||
if (array) { | ||
inits.push(t.variableDeclarator(array, right)); | ||
inits.push(_core.types.variableDeclarator(array, right)); | ||
} else { | ||
array = right; | ||
} | ||
const item = t.memberExpression(t.cloneNode(array), t.cloneNode(i), true); | ||
const item = _core.types.memberExpression(_core.types.cloneNode(array), _core.types.cloneNode(i), true); | ||
let assignment; | ||
if (t.isVariableDeclaration(left)) { | ||
if (_core.types.isVariableDeclaration(left)) { | ||
assignment = left; | ||
assignment.declarations[0].init = item; | ||
} else { | ||
assignment = t.expressionStatement(t.assignmentExpression("=", left, item)); | ||
assignment = _core.types.expressionStatement(_core.types.assignmentExpression("=", left, item)); | ||
} | ||
path.replaceWith(t.forStatement(t.variableDeclaration("let", inits), t.binaryExpression("<", t.cloneNode(i), t.memberExpression(t.cloneNode(array), t.identifier("length"))), t.updateExpression("++", t.cloneNode(i)), buildLoopBody(path, assignment))); | ||
path.replaceWith(_core.types.forStatement(_core.types.variableDeclaration("let", inits), _core.types.binaryExpression("<", _core.types.cloneNode(i), _core.types.memberExpression(_core.types.cloneNode(array), _core.types.identifier("length"))), _core.types.updateExpression("++", _core.types.cloneNode(i)), buildLoopBody(path, assignment))); | ||
} | ||
@@ -82,10 +90,10 @@ } | ||
} | ||
const buildForOfArray = template` | ||
const buildForOfArray = (0, _core.template)` | ||
for (var KEY = 0, NAME = ARR; KEY < NAME.length; KEY++) BODY; | ||
`; | ||
const buildForOfNoIteratorClosing = template.statements` | ||
const buildForOfNoIteratorClosing = _core.template.statements` | ||
for (var ITERATOR_HELPER = CREATE_ITERATOR_HELPER(OBJECT, ARRAY_LIKE_IS_ITERABLE), STEP_KEY; | ||
!(STEP_KEY = ITERATOR_HELPER()).done;) BODY; | ||
`; | ||
const buildForOf = template.statements` | ||
const buildForOf = _core.template.statements` | ||
var ITERATOR_HELPER = CREATE_ITERATOR_HELPER(OBJECT, ARRAY_LIKE_IS_ITERABLE), STEP_KEY; | ||
@@ -122,11 +130,11 @@ try { | ||
}); | ||
t.inherits(loop, node); | ||
const iterationValue = t.memberExpression(t.cloneNode(right), t.cloneNode(iterationKey), true); | ||
_core.types.inherits(loop, node); | ||
const iterationValue = _core.types.memberExpression(_core.types.cloneNode(right), _core.types.cloneNode(iterationKey), true); | ||
let declar; | ||
const left = node.left; | ||
if (t.isVariableDeclaration(left)) { | ||
if (_core.types.isVariableDeclaration(left)) { | ||
left.declarations[0].init = iterationValue; | ||
declar = left; | ||
} else { | ||
declar = t.expressionStatement(t.assignmentExpression("=", left, iterationValue)); | ||
declar = _core.types.expressionStatement(_core.types.assignmentExpression("=", left, iterationValue)); | ||
} | ||
@@ -141,9 +149,11 @@ loop.body = buildLoopBody(path, declar, loop.body); | ||
const right = path.get("right"); | ||
if (right.isArrayExpression() || right.isGenericType("Array") || t.isArrayTypeAnnotation(right.getTypeAnnotation())) { | ||
if (right.isArrayExpression() || right.isGenericType("Array") || _core.types.isArrayTypeAnnotation(right.getTypeAnnotation())) { | ||
path.replaceWith(_ForOfStatementArray(path)); | ||
return; | ||
} | ||
if (!state.availableHelper(builder.helper)) { | ||
transformWithoutHelper(skipIteratorClosing, path, state); | ||
return; | ||
{ | ||
if (!state.availableHelper(builder.helper)) { | ||
(0, _noHelperImplementation.default)(skipIteratorClosing, path, state); | ||
return; | ||
} | ||
} | ||
@@ -158,7 +168,7 @@ const { | ||
const stepKey = scope.generateUid("step"); | ||
const stepValue = t.memberExpression(t.identifier(stepKey), t.identifier("value")); | ||
if (t.isVariableDeclaration(left)) { | ||
declar = t.variableDeclaration(left.kind, [t.variableDeclarator(left.declarations[0].id, stepValue)]); | ||
const stepValue = _core.types.memberExpression(_core.types.identifier(stepKey), _core.types.identifier("value")); | ||
if (_core.types.isVariableDeclaration(left)) { | ||
declar = _core.types.variableDeclaration(left.kind, [_core.types.variableDeclarator(left.declarations[0].id, stepValue)]); | ||
} else { | ||
declar = t.expressionStatement(t.assignmentExpression("=", left, stepValue)); | ||
declar = _core.types.expressionStatement(_core.types.assignmentExpression("=", left, stepValue)); | ||
} | ||
@@ -168,4 +178,4 @@ const nodes = builder.build({ | ||
ITERATOR_HELPER: scope.generateUidIdentifier("iterator"), | ||
ARRAY_LIKE_IS_ITERABLE: arrayLikeIsIterable ? t.booleanLiteral(true) : null, | ||
STEP_KEY: t.identifier(stepKey), | ||
ARRAY_LIKE_IS_ITERABLE: arrayLikeIsIterable ? _core.types.booleanLiteral(true) : null, | ||
STEP_KEY: _core.types.identifier(stepKey), | ||
OBJECT: node.right, | ||
@@ -175,6 +185,6 @@ BODY: buildLoopBody(path, declar) | ||
const container = builder.getContainer(nodes); | ||
t.inherits(container[0], node); | ||
t.inherits(container[0].body, node.body); | ||
if (t.isLabeledStatement(parent)) { | ||
container[0] = t.labeledStatement(parent.label, container[0]); | ||
_core.types.inherits(container[0], node); | ||
_core.types.inherits(container[0].body, node.body); | ||
if (_core.types.isLabeledStatement(parent)) { | ||
container[0] = _core.types.labeledStatement(parent.label, container[0]); | ||
path.parentPath.replaceWithMultiple(nodes); | ||
@@ -189,3 +199,4 @@ path.skip(); | ||
}); | ||
exports.default = _default; | ||
//# sourceMappingURL=index.js.map |
@@ -1,3 +0,9 @@ | ||
import { template, types as t } from "@babel/core"; | ||
export default function transformWithoutHelper(loose, path, state) { | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.default = transformWithoutHelper; | ||
var _core = require("@babel/core"); | ||
function transformWithoutHelper(loose, path, state) { | ||
const pushComputedProps = loose ? pushComputedPropsLoose : pushComputedPropsSpec; | ||
@@ -16,4 +22,4 @@ const { | ||
block.body.push(...node.body.body); | ||
t.inherits(loop, node); | ||
t.inherits(loop.body, node.body); | ||
_core.types.inherits(loop, node); | ||
_core.types.inherits(loop.body, node.body); | ||
if (build.replaceParent) { | ||
@@ -26,3 +32,3 @@ path.parentPath.replaceWithMultiple(build.node); | ||
} | ||
const buildForOfLoose = template.statement(` | ||
const buildForOfLoose = _core.template.statement(` | ||
for (var LOOP_OBJECT = OBJECT, | ||
@@ -43,3 +49,3 @@ IS_ARRAY = Array.isArray(LOOP_OBJECT), | ||
`); | ||
const buildForOf = template.statements(` | ||
const buildForOf = _core.template.statements(` | ||
var ITERATOR_COMPLETION = true; | ||
@@ -79,9 +85,9 @@ var ITERATOR_HAD_ERROR_KEY = false; | ||
let declar, id, intermediate; | ||
if (t.isIdentifier(left) || t.isPattern(left) || t.isMemberExpression(left)) { | ||
if (_core.types.isIdentifier(left) || _core.types.isPattern(left) || _core.types.isMemberExpression(left)) { | ||
id = left; | ||
intermediate = null; | ||
} else if (t.isVariableDeclaration(left)) { | ||
} else if (_core.types.isVariableDeclaration(left)) { | ||
id = scope.generateUidIdentifier("ref"); | ||
declar = t.variableDeclaration(left.kind, [t.variableDeclarator(left.declarations[0].id, t.identifier(id.name))]); | ||
intermediate = t.variableDeclaration("var", [t.variableDeclarator(t.identifier(id.name))]); | ||
declar = _core.types.variableDeclaration(left.kind, [_core.types.variableDeclarator(left.declarations[0].id, _core.types.identifier(id.name))]); | ||
intermediate = _core.types.variableDeclaration("var", [_core.types.variableDeclarator(_core.types.identifier(id.name))]); | ||
} else { | ||
@@ -100,6 +106,6 @@ throw state.buildCodeFrameError(left, `Unknown node type ${left.type} in ForStatement`); | ||
}); | ||
const isLabeledParent = t.isLabeledStatement(parent); | ||
const isLabeledParent = _core.types.isLabeledStatement(parent); | ||
let labeled; | ||
if (isLabeledParent) { | ||
labeled = t.labeledStatement(parent.label, loop); | ||
labeled = _core.types.labeledStatement(parent.label, loop); | ||
} | ||
@@ -122,7 +128,7 @@ return { | ||
const stepKey = scope.generateUid("step"); | ||
const stepValue = t.memberExpression(t.identifier(stepKey), t.identifier("value")); | ||
if (t.isIdentifier(left) || t.isPattern(left) || t.isMemberExpression(left)) { | ||
declar = t.expressionStatement(t.assignmentExpression("=", left, stepValue)); | ||
} else if (t.isVariableDeclaration(left)) { | ||
declar = t.variableDeclaration(left.kind, [t.variableDeclarator(left.declarations[0].id, stepValue)]); | ||
const stepValue = _core.types.memberExpression(_core.types.identifier(stepKey), _core.types.identifier("value")); | ||
if (_core.types.isIdentifier(left) || _core.types.isPattern(left) || _core.types.isMemberExpression(left)) { | ||
declar = _core.types.expressionStatement(_core.types.assignmentExpression("=", left, stepValue)); | ||
} else if (_core.types.isVariableDeclaration(left)) { | ||
declar = _core.types.variableDeclaration(left.kind, [_core.types.variableDeclarator(left.declarations[0].id, stepValue)]); | ||
} else { | ||
@@ -136,10 +142,10 @@ throw state.buildCodeFrameError(left, `Unknown node type ${left.type} in ForStatement`); | ||
ITERATOR_KEY: scope.generateUidIdentifier("iterator"), | ||
STEP_KEY: t.identifier(stepKey), | ||
STEP_KEY: _core.types.identifier(stepKey), | ||
OBJECT: node.right | ||
}); | ||
const isLabeledParent = t.isLabeledStatement(parent); | ||
const isLabeledParent = _core.types.isLabeledStatement(parent); | ||
const tryBody = template[3].block.body; | ||
const loop = tryBody[0]; | ||
if (isLabeledParent) { | ||
tryBody[0] = t.labeledStatement(parent.label, loop); | ||
tryBody[0] = _core.types.labeledStatement(parent.label, loop); | ||
} | ||
@@ -146,0 +152,0 @@ return { |
{ | ||
"name": "@babel/plugin-transform-for-of", | ||
"version": "7.21.4-esm.4", | ||
"version": "7.21.5", | ||
"description": "Compile ES2015 for...of to ES5", | ||
@@ -20,10 +20,10 @@ "repository": { | ||
"dependencies": { | ||
"@babel/helper-plugin-utils": "7.21.4-esm.4" | ||
"@babel/helper-plugin-utils": "^7.21.5" | ||
}, | ||
"peerDependencies": { | ||
"@babel/core": "^7.0.0-0 || ^7.21.4-esm.2" | ||
"@babel/core": "^7.0.0-0" | ||
}, | ||
"devDependencies": { | ||
"@babel/core": "7.21.4-esm.4", | ||
"@babel/helper-plugin-test-runner": "7.21.4-esm.4" | ||
"@babel/core": "^7.21.5", | ||
"@babel/helper-plugin-test-runner": "^7.18.6" | ||
}, | ||
@@ -34,3 +34,3 @@ "engines": { | ||
"author": "The Babel Team (https://babel.dev/team)", | ||
"type": "module" | ||
"type": "commonjs" | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
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
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
43233
341
0
7
No
+ Added@babel/helper-plugin-utils@7.25.9(transitive)
- Removed@babel/helper-plugin-utils@7.21.4-esm.4(transitive)