update runtime transformer to not use $for module - cc @zloirock

This commit is contained in:
Sebastian McKenzie
2015-04-12 09:00:32 -07:00
parent 26b5174dfa
commit b3e4aefe12
6 changed files with 10 additions and 22 deletions

View File

@@ -1 +0,0 @@
CORE_ID.isIterable(VALUE);

View File

@@ -1 +0,0 @@
CORE_ID.getIterator(VALUE);

View File

@@ -8,10 +8,6 @@ var isSymbolIterator = t.buildMatchMemberExpression("Symbol.iterator");
const RUNTIME_MODULE_NAME = "babel-runtime";
function getForPath(file) {
return file.addImport(`${RUNTIME_MODULE_NAME}/core-js/$for`, "iterator", true);
}
var astVisitor = {
enter(node, parent, scope, file) {
var prop;
@@ -46,10 +42,7 @@ var astVisitor = {
prop = callee.property;
if (!isSymbolIterator(prop)) return false;
return util.template("corejs-iterator", {
CORE_ID: getForPath(file),
VALUE: callee.object
});
return t.callExpression(file.addImport(`${RUNTIME_MODULE_NAME}/core-js/get-iterator`, "getIterator", true), [callee.object]);
} else if (this.isBinaryExpression()) {
// Symbol.iterator in arr -> core.$for.isIterable(arr)
@@ -58,10 +51,7 @@ var astVisitor = {
var left = node.left;
if (!isSymbolIterator(left)) return;
return util.template("corejs-is-iterator", {
CORE_ID: getForPath(file),
VALUE: node.right
});
return t.callExpression(file.addImport(`${RUNTIME_MODULE_NAME}/core-js/is-iterator`, "isIterable", true), [node.right]);
}
}
};

View File

@@ -1,13 +1,13 @@
"use strict";
var _iterator2 = require("babel-runtime/core-js/$for")["default"];
var _getIterator = require("babel-runtime/core-js/get-iterator")["default"];
var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;
try {
for (var _iterator = _iterator2.getIterator(arr), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
for (var _iterator = _getIterator(arr), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
var i = _step.value;
}
} catch (err) {
@@ -23,4 +23,4 @@ try {
throw _iteratorError;
}
}
}
}

View File

@@ -1,6 +1,6 @@
"use strict";
var _iterator2 = require("babel-runtime/core-js/$for")["default"];
var _getIterator = require("babel-runtime/core-js/get-iterator")["default"];
var arr = (function () {
var _arr = [];
@@ -9,7 +9,7 @@ var arr = (function () {
var _iteratorError = undefined;
try {
for (var _iterator = _iterator2.getIterator(nums), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
for (var _iterator = _getIterator(nums), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
var i = _step.value;
_arr.push(i * i);
@@ -30,4 +30,4 @@ var arr = (function () {
}
return _arr;
})();
})();

View File

@@ -1,5 +1,5 @@
"use strict";
var _iterator = require("babel-runtime/core-js/$for")["default"];
var _isIterable = require("babel-runtime/core-js/is-iterator")["default"];
_iterator.isIterable(Object(arr));
_isIterable(Object(arr));