Merge pull request #6803 from satya164/async-to-generator-pure

Add /*#__PURE__*/ annotatiotion for babel-plugin-async-to-generator
This commit is contained in:
Sven SAULEAU 2017-11-13 16:31:37 +01:00 committed by GitHub
commit 82a4919c11
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
48 changed files with 226 additions and 57 deletions

View File

@ -1,7 +1,9 @@
import "core-js/modules/es6.promise";
import "regenerator-runtime/runtime";
var a = function () {
var a =
/*#__PURE__*/
function () {
var _ref = _asyncToGenerator(
/*#__PURE__*/
regeneratorRuntime.mark(function _callee() {

View File

@ -1,4 +1,6 @@
var agf = function () {
var agf =
/*#__PURE__*/
function () {
var _ref = _wrapAsyncGenerator(
/*#__PURE__*/
regeneratorRuntime.mark(function _callee() {

View File

@ -8,7 +8,9 @@ require("regenerator-runtime/runtime");
require("core-js/modules/es6.object.assign");
var agf = function () {
var agf =
/*#__PURE__*/
function () {
var _ref = _wrapAsyncGenerator(
/*#__PURE__*/
regeneratorRuntime.mark(function _callee() {

View File

@ -1,4 +1,6 @@
var agf = function () {
var agf =
/*#__PURE__*/
function () {
var _ref = _wrapAsyncGenerator(
/*#__PURE__*/
regeneratorRuntime.mark(function _callee() {

View File

@ -1,7 +1,9 @@
function f() {
var _this = this;
let g = function () {
let g =
/*#__PURE__*/
function () {
var _ref = babelHelpers.asyncToGenerator(function* () {
_this;
});
@ -17,7 +19,9 @@ class Class {
var _this2 = this;
return babelHelpers.asyncToGenerator(function* () {
var c = function () {
var c =
/*#__PURE__*/
function () {
var _ref2 = babelHelpers.asyncToGenerator(function* (b) {
_this2;
});

View File

@ -5,11 +5,15 @@ Object.defineProperty(exports, "__esModule", {
});
exports.default = void 0;
var foo = function () {
var foo =
/*#__PURE__*/
function () {
var _ref2 = _asyncToGenerator(
/*#__PURE__*/
regeneratorRuntime.mark(function _callee3() {
var bar = function () {
var bar =
/*#__PURE__*/
function () {
var _ref3 = _asyncToGenerator(
/*#__PURE__*/
regeneratorRuntime.mark(function _callee2() {

View File

@ -6,6 +6,7 @@
"license": "MIT",
"main": "lib/index.js",
"dependencies": {
"@babel/helper-annotate-as-pure": "7.0.0-beta.32",
"@babel/helper-wrap-function": "7.0.0-beta.32",
"@babel/template": "7.0.0-beta.32",
"@babel/traverse": "7.0.0-beta.32",

View File

@ -2,6 +2,7 @@
import type { NodePath } from "@babel/traverse";
import wrapFunction from "@babel/helper-wrap-function";
import annotateAsPure from "@babel/helper-annotate-as-pure";
import * as t from "@babel/types";
import rewriteForAwait from "./for-await";
@ -71,4 +72,16 @@ export default function(path: NodePath, file: Object, helpers: Object) {
path.node.generator = true;
wrapFunction(path, helpers.wrapAsync);
const isProperty =
path.isObjectMethod() ||
path.isClassMethod() ||
path.parentPath.isObjectProperty() ||
path.parentPath.isClassProperty();
if (!isProperty) {
annotateAsPure(
path.isDeclaration() ? path.get("declarations.0.init") : path,
);
}
}

View File

@ -1,4 +1,6 @@
let agf = (() => {
let agf =
/*#__PURE__*/
(() => {
var _ref = babelHelpers.wrapAsyncGenerator(function* () {
this;
yield babelHelpers.awaitAsyncGenerator(1);

View File

@ -1,3 +1,4 @@
/*#__PURE__*/
(() => {
var _ref = babelHelpers.wrapAsyncGenerator(function* () {
this;

View File

@ -1,4 +1,6 @@
let g = (() => {
let g =
/*#__PURE__*/
(() => {
var _ref = babelHelpers.wrapAsyncGenerator(function* () {
yield* babelHelpers.asyncGeneratorDelegate(babelHelpers.asyncIterator([1, 2, 3]), babelHelpers.awaitAsyncGenerator);
yield* babelHelpers.asyncGeneratorDelegate(babelHelpers.asyncIterator(iterable), babelHelpers.awaitAsyncGenerator);

View File

@ -1,3 +1,4 @@
/*#__PURE__*/
babelHelpers.asyncToGenerator(function* () {
var _iteratorNormalCompletion = true;
var _didIteratorError = false;

View File

@ -1,4 +1,6 @@
let f = (() => {
let f =
/*#__PURE__*/
(() => {
var _ref = babelHelpers.asyncToGenerator(function* () {
var _iteratorNormalCompletion = true;
var _didIteratorError = false;

View File

@ -1,4 +1,6 @@
let g = (() => {
let g =
/*#__PURE__*/
(() => {
var _ref = babelHelpers.wrapAsyncGenerator(function* () {
var _iteratorNormalCompletion = true;
var _didIteratorError = false;

View File

@ -1,4 +1,6 @@
let f = (() => {
let f =
/*#__PURE__*/
(() => {
var _ref = babelHelpers.asyncToGenerator(function* () {
var _iteratorNormalCompletion = true;
var _didIteratorError = false;

View File

@ -1,4 +1,6 @@
let g = (() => {
let g =
/*#__PURE__*/
(() => {
var _ref = babelHelpers.wrapAsyncGenerator(function* () {
var _this = this;
@ -8,6 +10,7 @@ let g = (() => {
() => this;
}
/*#__PURE__*/
babelHelpers.asyncToGenerator(function* () {
_this;
yield 1;

View File

@ -1,5 +1,9 @@
let g = (() => {
var _ref = babelHelpers.wrapAsyncGenerator(function* (x = babelHelpers.asyncToGenerator(function* () {
let g =
/*#__PURE__*/
(() => {
var _ref = babelHelpers.wrapAsyncGenerator(function* (x =
/*#__PURE__*/
babelHelpers.asyncToGenerator(function* () {
yield 1;
})) {
yield babelHelpers.awaitAsyncGenerator(2);

View File

@ -1,6 +1,10 @@
let f = (() => {
let f =
/*#__PURE__*/
(() => {
var _ref = babelHelpers.asyncToGenerator(function* () {
let g = (() => {
let g =
/*#__PURE__*/
(() => {
var _ref2 = babelHelpers.wrapAsyncGenerator(function* () {
yield babelHelpers.awaitAsyncGenerator(2);
yield 3;

View File

@ -2,7 +2,9 @@ class MyClass {
constructor() {
var _this = this;
this.myAsyncMethod = babelHelpers.asyncToGenerator(function* () {
this.myAsyncMethod =
/*#__PURE__*/
babelHelpers.asyncToGenerator(function* () {
console.log(_this);
});
}
@ -13,7 +15,9 @@ class MyClass {
constructor() {
var _this2 = this;
this.myAsyncMethod = babelHelpers.asyncToGenerator(function* () {
this.myAsyncMethod =
/*#__PURE__*/
babelHelpers.asyncToGenerator(function* () {
console.log(_this2);
});
}
@ -24,7 +28,9 @@ export default class MyClass3 {
constructor() {
var _this3 = this;
this.myAsyncMethod = babelHelpers.asyncToGenerator(function* () {
this.myAsyncMethod =
/*#__PURE__*/
babelHelpers.asyncToGenerator(function* () {
console.log(_this3);
});
}

View File

@ -1,4 +1,6 @@
let foo = (() => {
let foo =
/*#__PURE__*/
(() => {
var _ref = _wrapAsyncGenerator(_skipFirstGeneratorNext(function* () {
let _functionSent = yield;

View File

@ -4,7 +4,9 @@ let TestClass = {
testMethodFailure() {
var _this = this;
return new Promise((() => {
return new Promise(
/*#__PURE__*/
(() => {
var _ref = babelHelpers.asyncToGenerator(function* (resolve) {
console.log(_this);
setTimeout(resolve, 1000);

View File

@ -1,4 +1,6 @@
let foo = (() => {
let foo =
/*#__PURE__*/
(() => {
var _ref2 = babelHelpers.asyncToGenerator(function* (_ref) {
let {
a,

View File

@ -1,4 +1,6 @@
let s = (() => {
let s =
/*#__PURE__*/
(() => {
var _ref = babelHelpers.asyncToGenerator(function* (x) {
var _this = this,
_arguments = arguments;
@ -7,9 +9,13 @@ let s = (() => {
args[_key - 1] = arguments[_key];
}
let t = (() => {
let t =
/*#__PURE__*/
(() => {
var _ref2 = babelHelpers.asyncToGenerator(function* (y, a) {
let r = (() => {
let r =
/*#__PURE__*/
(() => {
var _ref3 = babelHelpers.asyncToGenerator(function* (z, b) {
yield z;

View File

@ -1,3 +1,10 @@
var foo = async function () {
var wat = await bar();
};
var foo2 = async function () {
var wat = await bar();
},
bar = async function () {
var wat = await foo();
};

View File

@ -1,4 +1,6 @@
var foo = (() => {
var foo =
/*#__PURE__*/
(() => {
var _ref = babelHelpers.asyncToGenerator(function* () {
var wat = yield bar();
});
@ -7,3 +9,26 @@ var foo = (() => {
return _ref.apply(this, arguments);
};
})();
var foo2 =
/*#__PURE__*/
(() => {
var _ref2 = babelHelpers.asyncToGenerator(function* () {
var wat = yield bar();
});
return function foo2() {
return _ref2.apply(this, arguments);
};
})(),
bar =
/*#__PURE__*/
(() => {
var _ref3 = babelHelpers.asyncToGenerator(function* () {
var wat = yield foo();
});
return function bar() {
return _ref3.apply(this, arguments);
};
})();

View File

@ -1,4 +1,6 @@
let one = (() => {
let one =
/*#__PURE__*/
(() => {
var _ref = babelHelpers.asyncToGenerator(function* (a, b = 1) {});
return function one(_x) {
@ -6,7 +8,9 @@ let one = (() => {
};
})();
let two = (() => {
let two =
/*#__PURE__*/
(() => {
var _ref2 = babelHelpers.asyncToGenerator(function* (a, b, ...c) {});
return function two(_x2, _x3) {
@ -14,7 +18,9 @@ let two = (() => {
};
})();
let three = (() => {
let three =
/*#__PURE__*/
(() => {
var _ref3 = babelHelpers.asyncToGenerator(function* (a, b = 1, c, d = 3) {});
return function three(_x4) {
@ -22,7 +28,9 @@ let three = (() => {
};
})();
let four = (() => {
let four =
/*#__PURE__*/
(() => {
var _ref4 = babelHelpers.asyncToGenerator(function* (a, b = 1, c, ...d) {});
return function four(_x5) {
@ -30,7 +38,9 @@ let four = (() => {
};
})();
let five = (() => {
let five =
/*#__PURE__*/
(() => {
var _ref5 = babelHelpers.asyncToGenerator(function* (a, {
b
}) {});
@ -40,7 +50,9 @@ let five = (() => {
};
})();
let six = (() => {
let six =
/*#__PURE__*/
(() => {
var _ref6 = babelHelpers.asyncToGenerator(function* (a, {
b
} = {}) {});

View File

@ -1,4 +1,6 @@
var foo = (() => {
var foo =
/*#__PURE__*/
(() => {
var _ref = babelHelpers.asyncToGenerator(function* () {
console.log(bar);
});

View File

@ -1 +1,3 @@
foo(babelHelpers.asyncToGenerator(function* () {}));
foo(
/*#__PURE__*/
babelHelpers.asyncToGenerator(function* () {}));

View File

@ -21,6 +21,7 @@ class Class {
this;
};
/*#__PURE__*/
babelHelpers.asyncToGenerator(function* () {
_this2;
});
@ -36,6 +37,7 @@ class Class {
this;
};
/*#__PURE__*/
babelHelpers.asyncToGenerator(function* () {
_this3;
});

View File

@ -1,4 +1,6 @@
let foo = (() => {
let foo =
/*#__PURE__*/
(() => {
var _ref = babelHelpers.asyncToGenerator(function* (bar) {});
return function foo(_x) {

View File

@ -1,4 +1,6 @@
let foo = (() => {
let foo =
/*#__PURE__*/
(() => {
var _ref = _asyncToGenerator(function* () {
yield _Promise.resolve();
});

View File

@ -1,6 +1,10 @@
let foo = (() => {
let foo =
/*#__PURE__*/
(() => {
var _ref = _asyncToGenerator(function* () {
let bar = (() => {
let bar =
/*#__PURE__*/
(() => {
var _ref2 = _asyncToGenerator(function* () {
return Promise.resolve();
});

View File

@ -1,4 +1,6 @@
let foo = (() => {
let foo =
/*#__PURE__*/
(() => {
var _ref = _asyncToGenerator(function* () {
yield new _Promise(resolve => {
resolve();

View File

@ -1,4 +1,6 @@
let foo = (() => {
let foo =
/*#__PURE__*/
(() => {
var _ref = babelHelpers.asyncToGenerator(function* () {
var wat = yield bar();
});

View File

@ -1,5 +1,6 @@
var _coroutine = require("bluebird").coroutine;
/*#__PURE__*/
_coroutine(function* () {
yield foo();
})();

View File

@ -1,6 +1,8 @@
var _coroutine = require("bluebird").coroutine;
var foo = (() => {
var foo =
/*#__PURE__*/
(() => {
var _ref = _coroutine(function* () {
var wat = yield bar();
});

View File

@ -1,6 +1,8 @@
var _coroutine = require("bluebird").coroutine;
var foo = (() => {
var foo =
/*#__PURE__*/
(() => {
var _ref = _coroutine(function* () {
console.log(bar);
});

View File

@ -1,6 +1,8 @@
var _coroutine = require("bluebird").coroutine;
let foo = (() => {
let foo =
/*#__PURE__*/
(() => {
var _ref = _coroutine(function* () {
var wat = yield bar();
});

View File

@ -5,7 +5,9 @@ Object.defineProperty(exports, "__esModule", {
});
exports.default = void 0;
var _default = babelHelpers.asyncToGenerator(function* () {
var _default =
/*#__PURE__*/
babelHelpers.asyncToGenerator(function* () {
return yield foo();
});

View File

@ -6,7 +6,9 @@ Object.defineProperty(exports, "__esModule", {
exports.default = void 0;
let myFunc = (() => {
var _ref = babelHelpers.asyncToGenerator(function* () {});
var _ref = babelHelpers.asyncToGenerator(
/*#__PURE__*/
function* () {});
return function myFunc() {
return _ref.apply(this, arguments);

View File

@ -7,7 +7,9 @@ exports.foo = void 0;
var _bar = babelHelpers.interopRequireDefault(require("bar"));
let foo = (() => {
let foo =
/*#__PURE__*/
(() => {
var _ref = babelHelpers.asyncToGenerator(function* () {});
return function foo() {

View File

@ -5,7 +5,9 @@ Object.defineProperty(exports, "__esModule", {
});
exports.foo = void 0;
let foo = (() => {
let foo =
/*#__PURE__*/
(() => {
var _ref = babelHelpers.asyncToGenerator(function* () {});
return function foo() {

View File

@ -1,6 +1,9 @@
/*#__PURE__*/
babelHelpers.asyncToGenerator(function* () {
return yield promise;
});
/*#__PURE__*/
babelHelpers.asyncToGenerator(function* () {
yield promise;
});

View File

@ -1,6 +1,8 @@
"use strict";
let foo = (() => {
let foo =
/*#__PURE__*/
(() => {
var _ref = _asyncToGenerator(function* (_ref2) {
let a = _ref2.a,
_ref2$b = _ref2.b,

View File

@ -1,3 +1,4 @@
/*#__PURE__*/
babelHelpers.asyncToGenerator(function* () {
var _iteratorNormalCompletion = true;
var _didIteratorError = false;

View File

@ -4,7 +4,9 @@ class Test {
return babelHelpers.asyncToGenerator(function* () {
console.log(_this);
setTimeout(babelHelpers.asyncToGenerator(function* () {
setTimeout(
/*#__PURE__*/
babelHelpers.asyncToGenerator(function* () {
console.log(_this);
}));
})();
@ -15,7 +17,9 @@ class Test {
return babelHelpers.asyncToGenerator(function* () {
console.log(_this2);
setTimeout((() => {
setTimeout(
/*#__PURE__*/
(() => {
var _ref2 = babelHelpers.asyncToGenerator(function* (arg) {
console.log(_this2);
});
@ -32,7 +36,9 @@ class Test {
return babelHelpers.asyncToGenerator(function* () {
console.log(_this3);
setTimeout(babelHelpers.asyncToGenerator(function* () {
setTimeout(
/*#__PURE__*/
babelHelpers.asyncToGenerator(function* () {
console.log(_this3);
}));
})();
@ -43,7 +49,9 @@ class Test {
return babelHelpers.asyncToGenerator(function* () {
console.log(_this4);
setTimeout((() => {
setTimeout(
/*#__PURE__*/
(() => {
var _ref4 = babelHelpers.asyncToGenerator(function* (arg) {
console.log(_this4);
});

View File

@ -1,5 +1,7 @@
function f() {
g(babelHelpers.asyncToGenerator(function* () {
g(
/*#__PURE__*/
babelHelpers.asyncToGenerator(function* () {
var _this = this;
c(function () {
@ -8,6 +10,7 @@ function f() {
}));
}
/*#__PURE__*/
babelHelpers.asyncToGenerator(function* () {
var _this2 = this;

View File

@ -1,4 +1,6 @@
var concat = function () {
var concat =
/*#__PURE__*/
function () {
var _ref = babelHelpers.asyncToGenerator(function* () {
var x = arguments.length <= 0 ? undefined : arguments[0];
var y = arguments.length <= 1 ? undefined : arguments[1];
@ -9,7 +11,9 @@ var concat = function () {
};
}();
var x = function () {
var x =
/*#__PURE__*/
function () {
var _ref2 = babelHelpers.asyncToGenerator(function* () {
if (noNeedToWork) return 0;