use t.buildMatchMemberExpression in selfContained transformer

This commit is contained in:
Sebastian McKenzie 2015-02-14 19:07:46 +11:00
parent 3649fad485
commit 1adc9bfc70

View File

@ -1,10 +1,12 @@
"use strict";
var includes = require("lodash/collection/includes");
var util = require("../../../util");
var core = require("core-js/library");
var t = require("../../../types");
var has = require("lodash/object/has");
var includes = require("lodash/collection/includes");
var t = require("../../../types");
var isSymboliterator = t.buildMatchMemberExpression("Symbol.iterator");
var coreHas = function (node) {
return node.name !== "_" && has(core, node.name);
@ -47,8 +49,7 @@ var astVisitor = {
if (!callee.computed) return false;
prop = callee.property;
if (!t.isIdentifier(prop.object, { name: "Symbol" })) return false;
if (!t.isIdentifier(prop.property, { name: "iterator" })) return false;
if (!isSymboliterator(prop)) return false;
return util.template("corejs-iterator", {
CORE_ID: file.get("coreIdentifier"),
@ -60,9 +61,7 @@ var astVisitor = {
if (node.operator !== "in") return;
var left = node.left;
if (!t.isMemberExpression(left)) return;
if (!t.isIdentifier(left.object, { name: "Symbol" })) return;
if (!t.isIdentifier(left.property, { name: "iterator" })) return;
if (!isSymboliterator(left)) return;
return util.template("corejs-is-iterator", {
CORE_ID: file.get("coreIdentifier"),