diff options
Diffstat (limited to 'node_modules/@babel/preset-modules/lib/plugins/transform-async-arrows-in-class/index.js')
| -rw-r--r-- | node_modules/@babel/preset-modules/lib/plugins/transform-async-arrows-in-class/index.js | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/node_modules/@babel/preset-modules/lib/plugins/transform-async-arrows-in-class/index.js b/node_modules/@babel/preset-modules/lib/plugins/transform-async-arrows-in-class/index.js deleted file mode 100644 index 69774046..00000000 --- a/node_modules/@babel/preset-modules/lib/plugins/transform-async-arrows-in-class/index.js +++ /dev/null @@ -1,45 +0,0 @@ -"use strict"; - -exports.__esModule = true; -exports.default = void 0; - -/** - * Safari 10.3 had an issue where async arrow function expressions within any class method would throw. - * After an initial fix, any references to the instance via `this` within those methods would also throw. - * This is fixed by converting arrow functions in class methods into equivalent function expressions. - * @see https://bugs.webkit.org/show_bug.cgi?id=166879 - * - * @example - * class X{ a(){ async () => {}; } } // throws - * class X{ a(){ async function() {}; } } // works - * - * @example - * class X{ a(){ - * async () => this.a; // throws - * } } - * class X{ a(){ - * var _this=this; - * async function() { return _this.a }; // works - * } } - */ -const OPTS = { - allowInsertArrow: false, - specCompliant: false -}; - -var _default = ({ - types: t -}) => ({ - name: "transform-async-arrows-in-class", - visitor: { - ArrowFunctionExpression(path) { - if (path.node.async && path.findParent(t.isClassMethod)) { - path.arrowFunctionToExpression(OPTS); - } - } - - } -}); - -exports.default = _default; -module.exports = exports.default;
\ No newline at end of file |
