summaryrefslogtreecommitdiff
path: root/node_modules/@babel/preset-modules/lib/plugins/transform-async-arrows-in-class
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/@babel/preset-modules/lib/plugins/transform-async-arrows-in-class')
-rw-r--r--node_modules/@babel/preset-modules/lib/plugins/transform-async-arrows-in-class/index.js45
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