Fix rewriteThis in helper-module-transforms for computed class… (#11109)
* Fix rewriteThis in helper-module-transforms for computed class elements * Added test file and corrected the visitor * Revert .gitignore * Using skipAllButComputedKey method from plugin-replace-supers * added tests for class methods * Added tests for both class properties and methods and fixed skipping computed key for methods * Fixed condition for class methods * revised the conditions for class methods * Added more tests and used else-if in classmethod condition * Update packages/babel-helper-replace-supers/src/index.js Co-Authored-By: Nicolò Ribaudo <nicolo.ribaudo@gmail.com> Co-authored-by: Nicolò Ribaudo <nicolo.ribaudo@gmail.com>
This commit is contained in:
committed by
GitHub
parent
3fc904e1d4
commit
3c6a8ae200
@@ -12,6 +12,7 @@
|
||||
"main": "lib/index.js",
|
||||
"dependencies": {
|
||||
"@babel/helper-module-imports": "^7.8.3",
|
||||
"@babel/helper-replace-supers": "^7.8.3",
|
||||
"@babel/helper-simple-access": "^7.8.3",
|
||||
"@babel/helper-split-export-declaration": "^7.8.3",
|
||||
"@babel/template": "^7.8.3",
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import { skipAllButComputedKey } from "@babel/helper-replace-supers";
|
||||
export default function rewriteThis(programPath: NodePath) {
|
||||
// Rewrite "this" to be "undefined".
|
||||
programPath.traverse(rewriteThisVisitor);
|
||||
@@ -12,10 +13,11 @@ const rewriteThisVisitor = {
|
||||
path.replaceWith(path.scope.buildUndefinedNode());
|
||||
},
|
||||
Function(path) {
|
||||
if (!path.isArrowFunctionExpression()) path.skip();
|
||||
if (path.isMethod()) skipAllButComputedKey(path);
|
||||
else if (!path.isArrowFunctionExpression()) path.skip();
|
||||
},
|
||||
ClassProperty(path) {
|
||||
path.skip();
|
||||
skipAllButComputedKey(path);
|
||||
},
|
||||
ClassPrivateProperty(path) {
|
||||
path.skip();
|
||||
|
||||
Reference in New Issue
Block a user