@babel/helper-create-class-features-plugin
Advanced tools
Comparing version 7.13.10 to 7.13.11
@@ -620,7 +620,5 @@ "use strict"; | ||
} = prop.node; | ||
const methodValue = _core.types.functionExpression(methodId, params, body, generator, async); | ||
const isGetter = getId && !getterDeclared && params.length === 0; | ||
const isSetter = setId && !setterDeclared && params.length > 0; | ||
let declId = methodId; | ||
@@ -631,17 +629,13 @@ if (isGetter) { | ||
})); | ||
return _core.types.variableDeclaration("var", [_core.types.variableDeclarator(getId, methodValue)]); | ||
} | ||
if (isSetter) { | ||
declId = getId; | ||
} else if (isSetter) { | ||
privateNamesMap.set(prop.node.key.id.name, Object.assign({}, privateName, { | ||
setterDeclared: true | ||
})); | ||
return _core.types.variableDeclaration("var", [_core.types.variableDeclarator(setId, methodValue)]); | ||
declId = setId; | ||
} else if (isStatic && !privateFieldsAsProperties) { | ||
declId = id; | ||
} | ||
if (isStatic && !privateFieldsAsProperties) { | ||
return _core.types.variableDeclaration("var", [_core.types.variableDeclarator(_core.types.cloneNode(id), _core.types.functionExpression(id, params, body, generator, async))]); | ||
} | ||
return _core.types.variableDeclaration("var", [_core.types.variableDeclarator(_core.types.cloneNode(methodId), methodValue)]); | ||
return _core.types.functionDeclaration(_core.types.cloneNode(declId), params, body, generator, async); | ||
} | ||
@@ -685,5 +679,6 @@ | ||
function buildFieldsInitNodes(ref, superRef, props, privateNamesMap, state, setPublicClassFields, privateFieldsAsProperties, constantSuper) { | ||
let needsClassRef = false; | ||
const staticNodes = []; | ||
const instanceNodes = []; | ||
let needsClassRef = false; | ||
const pureStaticNodes = []; | ||
@@ -735,3 +730,3 @@ for (const prop of props) { | ||
instanceNodes.unshift(buildPrivateMethodInitLoose(_core.types.thisExpression(), prop, privateNamesMap)); | ||
staticNodes.push(buildPrivateMethodDeclaration(prop, privateNamesMap, privateFieldsAsProperties)); | ||
pureStaticNodes.push(buildPrivateMethodDeclaration(prop, privateNamesMap, privateFieldsAsProperties)); | ||
break; | ||
@@ -741,3 +736,3 @@ | ||
instanceNodes.unshift(buildPrivateInstanceMethodInitSpec(_core.types.thisExpression(), prop, privateNamesMap)); | ||
staticNodes.push(buildPrivateMethodDeclaration(prop, privateNamesMap, privateFieldsAsProperties)); | ||
pureStaticNodes.push(buildPrivateMethodDeclaration(prop, privateNamesMap, privateFieldsAsProperties)); | ||
break; | ||
@@ -748,3 +743,3 @@ | ||
staticNodes.unshift(buildPrivateStaticFieldInitSpec(prop, privateNamesMap)); | ||
staticNodes.unshift(buildPrivateMethodDeclaration(prop, privateNamesMap, privateFieldsAsProperties)); | ||
pureStaticNodes.push(buildPrivateMethodDeclaration(prop, privateNamesMap, privateFieldsAsProperties)); | ||
break; | ||
@@ -755,3 +750,3 @@ | ||
staticNodes.unshift(buildPrivateStaticMethodInitLoose(_core.types.cloneNode(ref), prop, state, privateNamesMap)); | ||
staticNodes.unshift(buildPrivateMethodDeclaration(prop, privateNamesMap, privateFieldsAsProperties)); | ||
pureStaticNodes.push(buildPrivateMethodDeclaration(prop, privateNamesMap, privateFieldsAsProperties)); | ||
break; | ||
@@ -775,2 +770,3 @@ | ||
instanceNodes: instanceNodes.filter(Boolean), | ||
pureStaticNodes: pureStaticNodes.filter(Boolean), | ||
@@ -777,0 +773,0 @@ wrapClass(path) { |
@@ -36,3 +36,3 @@ "use strict"; | ||
const version = "7.13.10".split(".").reduce((v, x) => v * 1e5 + +x, 0); | ||
const version = "7.13.11".split(".").reduce((v, x) => v * 1e5 + +x, 0); | ||
const versionKey = "@babel/plugin-class-features/version"; | ||
@@ -173,6 +173,6 @@ | ||
}, state); | ||
let keysNodes, staticNodes, instanceNodes, wrapClass; | ||
let keysNodes, staticNodes, pureStaticNodes, instanceNodes, wrapClass; | ||
if (isDecorated) { | ||
staticNodes = keysNodes = []; | ||
staticNodes = pureStaticNodes = keysNodes = []; | ||
({ | ||
@@ -186,2 +186,3 @@ instanceNodes, | ||
staticNodes, | ||
pureStaticNodes, | ||
instanceNodes, | ||
@@ -205,3 +206,10 @@ wrapClass | ||
path.insertBefore([...privateNamesNodes, ...keysNodes]); | ||
path.insertAfter(staticNodes); | ||
if (staticNodes.length > 0) { | ||
path.insertAfter(staticNodes); | ||
} | ||
if (pureStaticNodes.length > 0) { | ||
path.find(parent => parent.isStatement() || parent.isDeclaration()).insertAfter(pureStaticNodes); | ||
} | ||
}, | ||
@@ -208,0 +216,0 @@ |
{ | ||
"name": "@babel/helper-create-class-features-plugin", | ||
"version": "7.13.10", | ||
"version": "7.13.11", | ||
"author": "The Babel Team (https://babel.dev/team)", | ||
@@ -5,0 +5,0 @@ "license": "MIT", |
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
1204
48930