@babel/plugin-transform-classes
Advanced tools
Comparing version 7.12.13 to 7.13.0
@@ -29,2 +29,4 @@ "use strict"; | ||
var _default = (0, _helperPluginUtils.declare)((api, options) => { | ||
var _api$assumption, _api$assumption2, _api$assumption3, _api$assumption4; | ||
api.assertVersion(7); | ||
@@ -34,2 +36,6 @@ const { | ||
} = options; | ||
const setClassMethods = (_api$assumption = api.assumption("setClassMethods")) != null ? _api$assumption : options.loose; | ||
const constantSuper = (_api$assumption2 = api.assumption("constantSuper")) != null ? _api$assumption2 : options.loose; | ||
const superIsCallableConstructor = (_api$assumption3 = api.assumption("superIsCallableConstructor")) != null ? _api$assumption3 : options.loose; | ||
const noClassCalls = (_api$assumption4 = api.assumption("noClassCalls")) != null ? _api$assumption4 : options.loose; | ||
const VISITED = Symbol(); | ||
@@ -65,3 +71,8 @@ return { | ||
node[VISITED] = true; | ||
path.replaceWith((0, _transformClass.default)(path, state.file, builtinClasses, loose)); | ||
path.replaceWith((0, _transformClass.default)(path, state.file, builtinClasses, loose, { | ||
setClassMethods, | ||
constantSuper, | ||
superIsCallableConstructor, | ||
noClassCalls | ||
})); | ||
@@ -68,0 +79,0 @@ if (path.isCallExpression()) { |
@@ -34,3 +34,3 @@ "use strict"; | ||
function transformClass(path, file, builtinClasses, isLoose) { | ||
function transformClass(path, file, builtinClasses, isLoose, assumptions) { | ||
const classState = { | ||
@@ -155,3 +155,3 @@ parent: undefined, | ||
superRef: classState.superName, | ||
isLoose: classState.isLoose, | ||
constantSuper: assumptions.constantSuper, | ||
file: classState.file, | ||
@@ -223,3 +223,3 @@ refToPreserve: classState.classRef | ||
if (classState.isLoose) { | ||
if (assumptions.superIsCallableConstructor) { | ||
bareSuperNode.arguments.unshift(_core.types.thisExpression()); | ||
@@ -392,3 +392,3 @@ | ||
function processMethod(node, scope) { | ||
if (classState.isLoose && !node.decorators) { | ||
if (assumptions.setClassMethods && !node.decorators) { | ||
let { | ||
@@ -485,3 +485,3 @@ classRef | ||
if (!classState.isLoose) { | ||
if (!assumptions.superIsCallableConstructor) { | ||
classState.body.unshift(_core.types.variableDeclaration("var", [_core.types.variableDeclarator(superFnId, _core.types.callExpression((0, _inlineCreateSuperHelpers.default)(classState.file), [_core.types.cloneNode(classState.classRef)]))])); | ||
@@ -558,3 +558,3 @@ } | ||
if (!classState.isLoose) { | ||
if (!assumptions.noClassCalls) { | ||
constructorBody.body.unshift(_core.types.expressionStatement(_core.types.callExpression(classState.file.addHelper("classCallCheck"), [_core.types.thisExpression(), _core.types.cloneNode(classState.classRef)]))); | ||
@@ -561,0 +561,0 @@ } |
{ | ||
"name": "@babel/plugin-transform-classes", | ||
"version": "7.12.13", | ||
"version": "7.13.0", | ||
"description": "Compile ES2015 classes to ES5", | ||
@@ -20,4 +20,4 @@ "repository": { | ||
"@babel/helper-optimise-call-expression": "^7.12.13", | ||
"@babel/helper-plugin-utils": "^7.12.13", | ||
"@babel/helper-replace-supers": "^7.12.13", | ||
"@babel/helper-plugin-utils": "^7.13.0", | ||
"@babel/helper-replace-supers": "^7.13.0", | ||
"@babel/helper-split-export-declaration": "^7.12.13", | ||
@@ -33,5 +33,5 @@ "globals": "^11.1.0" | ||
"devDependencies": { | ||
"@babel/core": "7.12.13", | ||
"@babel/core": "7.13.0", | ||
"@babel/helper-plugin-test-runner": "7.12.13" | ||
} | ||
} |
26672
599