@babel/plugin-transform-computed-properties
Advanced tools
Comparing version 7.21.4-esm.4 to 7.21.5
@@ -1,12 +0,21 @@ | ||
import { types as t } from "@babel/core"; | ||
import { declare } from "@babel/helper-plugin-utils"; | ||
import template from "@babel/template"; | ||
const DefineAccessorHelper = template.expression.ast` | ||
function (type, obj, key, fn) { | ||
var desc = { configurable: true, enumerable: true }; | ||
desc[type] = fn; | ||
return Object.defineProperty(obj, key, desc); | ||
}`; | ||
DefineAccessorHelper._compact = true; | ||
export default declare((api, options) => { | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.default = void 0; | ||
var _core = require("@babel/core"); | ||
var _helperPluginUtils = require("@babel/helper-plugin-utils"); | ||
var _template = require("@babel/template"); | ||
{ | ||
var DefineAccessorHelper = _template.default.expression.ast` | ||
function (type, obj, key, fn) { | ||
var desc = { configurable: true, enumerable: true }; | ||
desc[type] = fn; | ||
return Object.defineProperty(obj, key, desc); | ||
} | ||
`; | ||
DefineAccessorHelper._compact = true; | ||
} | ||
var _default = (0, _helperPluginUtils.declare)((api, options) => { | ||
var _api$assumption; | ||
@@ -17,29 +26,31 @@ api.assertVersion(7); | ||
function buildDefineAccessor(state, type, obj, key, fn) { | ||
let helper; | ||
if (state.availableHelper("defineAccessor")) { | ||
helper = state.addHelper("defineAccessor"); | ||
} else { | ||
const file = state.file; | ||
helper = file.get("fallbackDefineAccessorHelper"); | ||
if (!helper) { | ||
const id = file.scope.generateUidIdentifier("defineAccessor"); | ||
file.scope.push({ | ||
id, | ||
init: DefineAccessorHelper | ||
}); | ||
file.set("fallbackDefineAccessorHelper", helper = id); | ||
{ | ||
let helper; | ||
if (state.availableHelper("defineAccessor")) { | ||
helper = state.addHelper("defineAccessor"); | ||
} else { | ||
const file = state.file; | ||
helper = file.get("fallbackDefineAccessorHelper"); | ||
if (!helper) { | ||
const id = file.scope.generateUidIdentifier("defineAccessor"); | ||
file.scope.push({ | ||
id, | ||
init: DefineAccessorHelper | ||
}); | ||
file.set("fallbackDefineAccessorHelper", helper = id); | ||
} | ||
helper = _core.types.cloneNode(helper); | ||
} | ||
helper = t.cloneNode(helper); | ||
return _core.types.callExpression(helper, [_core.types.stringLiteral(type), obj, key, fn]); | ||
} | ||
return t.callExpression(helper, [t.stringLiteral(type), obj, key, fn]); | ||
} | ||
function getValue(prop) { | ||
if (t.isObjectProperty(prop)) { | ||
if (_core.types.isObjectProperty(prop)) { | ||
return prop.value; | ||
} else if (t.isObjectMethod(prop)) { | ||
return t.functionExpression(null, prop.params, prop.body, prop.generator, prop.async); | ||
} else if (_core.types.isObjectMethod(prop)) { | ||
return _core.types.functionExpression(null, prop.params, prop.body, prop.generator, prop.async); | ||
} | ||
} | ||
function pushAssign(objId, prop, body) { | ||
body.push(t.expressionStatement(t.assignmentExpression("=", t.memberExpression(t.cloneNode(objId), prop.key, prop.computed || t.isLiteral(prop.key)), getValue(prop)))); | ||
body.push(_core.types.expressionStatement(_core.types.assignmentExpression("=", _core.types.memberExpression(_core.types.cloneNode(objId), prop.key, prop.computed || _core.types.isLiteral(prop.key)), getValue(prop)))); | ||
} | ||
@@ -54,3 +65,3 @@ function pushAccessorDefine({ | ||
const kind = prop.kind; | ||
const key = !prop.computed && t.isIdentifier(prop.key) ? t.stringLiteral(prop.key.name) : prop.key; | ||
const key = !prop.computed && _core.types.isIdentifier(prop.key) ? _core.types.stringLiteral(prop.key.name) : prop.key; | ||
const value = getValue(prop); | ||
@@ -60,3 +71,3 @@ if (computedProps.length === 1) { | ||
} else { | ||
body.push(t.expressionStatement(buildDefineAccessor(state, kind, t.cloneNode(objId), key, value))); | ||
body.push(_core.types.expressionStatement(buildDefineAccessor(state, kind, _core.types.cloneNode(objId), key, value))); | ||
} | ||
@@ -66,7 +77,7 @@ } | ||
for (const prop of info.computedProps) { | ||
if (t.isObjectMethod(prop) && (prop.kind === "get" || prop.kind === "set")) { | ||
if (_core.types.isObjectMethod(prop) && (prop.kind === "get" || prop.kind === "set")) { | ||
const single = pushAccessorDefine(info, prop); | ||
if (single) return single; | ||
} else { | ||
pushAssign(t.cloneNode(info.objId), prop, info.body); | ||
pushAssign(_core.types.cloneNode(info.objId), prop, info.body); | ||
} | ||
@@ -83,4 +94,4 @@ } | ||
for (const prop of computedProps) { | ||
const key = t.toComputedKey(prop); | ||
if (t.isObjectMethod(prop) && (prop.kind === "get" || prop.kind === "set")) { | ||
const key = _core.types.toComputedKey(prop); | ||
if (_core.types.isObjectMethod(prop) && (prop.kind === "get" || prop.kind === "set")) { | ||
const single = pushAccessorDefine(info, prop); | ||
@@ -91,5 +102,5 @@ if (single) return single; | ||
if (computedProps.length === 1) { | ||
return t.callExpression(state.addHelper("defineProperty"), [info.initPropExpression, key, value]); | ||
return _core.types.callExpression(state.addHelper("defineProperty"), [info.initPropExpression, key, value]); | ||
} else { | ||
body.push(t.expressionStatement(t.callExpression(state.addHelper("defineProperty"), [t.cloneNode(objId), key, value]))); | ||
body.push(_core.types.expressionStatement(_core.types.callExpression(state.addHelper("defineProperty"), [_core.types.cloneNode(objId), key, value]))); | ||
} | ||
@@ -119,3 +130,3 @@ } | ||
for (const prop of node.properties) { | ||
if (t.isSpreadElement(prop)) { | ||
if (_core.types.isSpreadElement(prop)) { | ||
continue; | ||
@@ -133,5 +144,5 @@ } | ||
const objId = scope.generateUidIdentifierBasedOnNode(parent); | ||
const initPropExpression = t.objectExpression(initProps); | ||
const initPropExpression = _core.types.objectExpression(initProps); | ||
const body = []; | ||
body.push(t.variableDeclaration("var", [t.variableDeclarator(objId, initPropExpression)])); | ||
body.push(_core.types.variableDeclaration("var", [_core.types.variableDeclarator(objId, initPropExpression)])); | ||
const single = pushComputedProps({ | ||
@@ -148,3 +159,3 @@ scope, | ||
} else { | ||
body.push(t.expressionStatement(t.cloneNode(objId))); | ||
body.push(_core.types.expressionStatement(_core.types.cloneNode(objId))); | ||
path.replaceWithMultiple(body); | ||
@@ -157,3 +168,4 @@ } | ||
}); | ||
exports.default = _default; | ||
//# sourceMappingURL=index.js.map |
{ | ||
"name": "@babel/plugin-transform-computed-properties", | ||
"version": "7.21.4-esm.4", | ||
"version": "7.21.5", | ||
"description": "Compile ES2015 computed properties to ES5", | ||
@@ -20,11 +20,11 @@ "repository": { | ||
"dependencies": { | ||
"@babel/helper-plugin-utils": "7.21.4-esm.4", | ||
"@babel/template": "7.21.4-esm.4" | ||
"@babel/helper-plugin-utils": "^7.21.5", | ||
"@babel/template": "^7.20.7" | ||
}, | ||
"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" | ||
}, | ||
@@ -35,3 +35,3 @@ "engines": { | ||
"author": "The Babel Team (https://babel.dev/team)", | ||
"type": "module" | ||
"type": "commonjs" | ||
} |
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
22234
159
0
5
No
+ Added@babel/helper-plugin-utils@7.24.8(transitive)
- Removed@babel/code-frame@7.21.4-esm.4(transitive)
- Removed@babel/helper-plugin-utils@7.21.4-esm.4(transitive)
- Removed@babel/helper-string-parser@7.21.4-esm.4(transitive)
- Removed@babel/helper-validator-identifier@7.21.4-esm.4(transitive)
- Removed@babel/highlight@7.21.4-esm.4(transitive)
- Removed@babel/parser@7.21.4-esm.4(transitive)
- Removed@babel/template@7.21.4-esm.4(transitive)
- Removed@babel/types@7.21.4-esm.4(transitive)
Updated@babel/template@^7.20.7