Merge branch 'external-regenerator-runtime' into scoped-es6-runtime
This commit is contained in:
@@ -80,13 +80,12 @@ _.each({
|
||||
constants: require("./transformers/es6-constants"),
|
||||
letScoping: require("./transformers/es6-let-scoping"),
|
||||
|
||||
_blockHoist: require("./transformers/_block-hoist"),
|
||||
|
||||
generators: require("./transformers/es6-generators"),
|
||||
restParameters: require("./transformers/es6-rest-parameters"),
|
||||
|
||||
protoToAssign: require("./transformers/optional-proto-to-assign"),
|
||||
|
||||
_blockHoist: require("./transformers/_block-hoist"),
|
||||
_declarations: require("./transformers/_declarations"),
|
||||
|
||||
// wrap up
|
||||
@@ -97,6 +96,7 @@ _.each({
|
||||
typeofSymbol: require("./transformers/optional-typeof-symbol"),
|
||||
externalRuntime: require("./transformers/optional-external-runtime"),
|
||||
coreAliasing: require("./transformers/optional-core-aliasing"),
|
||||
externalRegenerator: require("./transformers/optional-external-regenerator-runtime"),
|
||||
undefinedToVoid: require("./transformers/optional-undefined-to-void"),
|
||||
|
||||
// spec
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
var t = require("../../types");
|
||||
|
||||
exports.optional = true;
|
||||
|
||||
exports.ast = {
|
||||
enter: function (ast, file) {
|
||||
file._regeneratorId = file.addImport("regenerator/runtime-module", "regeneratorRuntime");
|
||||
}
|
||||
};
|
||||
|
||||
exports.MemberExpression = function (node, parent, scope, context, file) {
|
||||
var obj = node.object;
|
||||
var prop = node.property;
|
||||
if (!t.isReferenced(node, parent) || !t.isReferenced(obj, node)) return;
|
||||
if (obj.name === "regeneratorRuntime") return t.memberExpression(file._regeneratorId, prop);
|
||||
};
|
||||
2
test/fixtures/transformation/optional-external-regenerator-runtime/basic/actual.js
vendored
Normal file
2
test/fixtures/transformation/optional-external-regenerator-runtime/basic/actual.js
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
void function* () {
|
||||
};
|
||||
13
test/fixtures/transformation/optional-external-regenerator-runtime/basic/expected.js
vendored
Normal file
13
test/fixtures/transformation/optional-external-regenerator-runtime/basic/expected.js
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
"use strict";
|
||||
|
||||
var _regeneratorRuntime = require("regenerator/runtime-module");
|
||||
|
||||
void _regeneratorRuntime.mark(function callee$0$0() {
|
||||
return _regeneratorRuntime.wrap(function callee$0$0$(context$1$0) {
|
||||
while (1) switch (context$1$0.prev = context$1$0.next) {
|
||||
case 0:
|
||||
case "end":
|
||||
return context$1$0.stop();
|
||||
}
|
||||
}, callee$0$0, this);
|
||||
});
|
||||
3
test/fixtures/transformation/optional-external-regenerator-runtime/options.json
vendored
Normal file
3
test/fixtures/transformation/optional-external-regenerator-runtime/options.json
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"optional": ["externalRegenerator"]
|
||||
}
|
||||
Reference in New Issue
Block a user