UNPKG

1.47 kBJavaScriptView Raw
1"use strict";
2
3exports.__esModule = true;
4
5exports.default = function (_ref) {
6 var t = _ref.types;
7
8 var yieldStarVisitor = {
9 Function: function Function(path) {
10 path.skip();
11 },
12 YieldExpression: function YieldExpression(_ref2, state) {
13 var node = _ref2.node;
14
15 if (!node.delegate) return;
16 var callee = state.addHelper("asyncGeneratorDelegate");
17 node.argument = t.callExpression(callee, [t.callExpression(state.addHelper("asyncIterator"), [node.argument]), t.memberExpression(state.addHelper("asyncGenerator"), t.identifier("await"))]);
18 }
19 };
20
21 return {
22 inherits: require("babel-plugin-syntax-async-generators"),
23 visitor: {
24 Function: function Function(path, state) {
25 if (!path.node.async || !path.node.generator) return;
26
27 path.traverse(yieldStarVisitor, state);
28
29 (0, _babelHelperRemapAsyncToGenerator2.default)(path, state.file, {
30 wrapAsync: t.memberExpression(state.addHelper("asyncGenerator"), t.identifier("wrap")),
31 wrapAwait: t.memberExpression(state.addHelper("asyncGenerator"), t.identifier("await"))
32 });
33 }
34 }
35 };
36};
37
38var _babelHelperRemapAsyncToGenerator = require("babel-helper-remap-async-to-generator");
39
40var _babelHelperRemapAsyncToGenerator2 = _interopRequireDefault(_babelHelperRemapAsyncToGenerator);
41
42function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
43
44module.exports = exports["default"];
\No newline at end of file