update selfContained transformer to use new File data layer

This commit is contained in:
Sebastian McKenzie
2015-01-20 01:42:43 +11:00
parent 33d2463c65
commit 7f6eb3dba3

View File

@@ -23,9 +23,9 @@ exports.optional = true;
exports.ast = {
enter: function (ast, file) {
file.opts.runtime = file.addImport("6to5-runtime/helpers", "to5Runtime").name;
file._coreId = file.addImport("6to5-runtime/core-js", "core");
file._regeneratorId = file.addImport("6to5-runtime/regenerator", "regeneratorRuntime");
file.set("runtimeIdentifier", file.addImport("6to5-runtime/helpers", "to5Runtime"));
file.set("coreIdentifier", file.addImport("6to5-runtime/core-js", "core"));
file.set("regeneratorIdentifier", file.addImport("6to5-runtime/regenerator", "regeneratorRuntime"));
},
exit: function (ast, file) {
@@ -42,11 +42,11 @@ exports.ast = {
if (!node.computed && coreHas(obj) && _.has(core[obj.name], prop.name)) {
context.skip();
return t.prependToMemberExpression(node, file._coreId);
return t.prependToMemberExpression(node, file.get("coreIdentifier"));
}
} else if (t.isReferencedIdentifier(node, parent) && !t.isMemberExpression(parent) && _.contains(ALIASABLE_CONSTRUCTORS, node.name)) {
// Symbol() -> _core.Symbol(); new Promise -> new _core.Promise
return t.memberExpression(file._coreId, node);
return t.memberExpression(file.get("coreIdentifier"), node);
} else if (t.isCallExpression(node)) {
// arr[Symbol.iterator]() -> _core.$for.getIterator(arr)
@@ -61,7 +61,7 @@ exports.ast = {
if (!t.isIdentifier(prop.property, { name: "iterator" })) return;
return util.template("corejs-iterator", {
CORE_ID: file._coreId,
CORE_ID: file.get("coreIdentifier"),
VALUE: callee.object
});
}
@@ -72,6 +72,6 @@ exports.ast = {
exports.Identifier = function (node, parent, scope, context, file) {
if (node.name === "regeneratorRuntime" && t.isReferenced(node, parent)) {
node.name = file._regeneratorId;
return file.get("regeneratorIdentifier");
}
};