use t.buildMatchMemberExpression in selfContained transformer
This commit is contained in:
parent
3649fad485
commit
1adc9bfc70
@ -1,10 +1,12 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
|
var includes = require("lodash/collection/includes");
|
||||||
var util = require("../../../util");
|
var util = require("../../../util");
|
||||||
var core = require("core-js/library");
|
var core = require("core-js/library");
|
||||||
var t = require("../../../types");
|
|
||||||
var has = require("lodash/object/has");
|
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) {
|
var coreHas = function (node) {
|
||||||
return node.name !== "_" && has(core, node.name);
|
return node.name !== "_" && has(core, node.name);
|
||||||
@ -47,8 +49,7 @@ var astVisitor = {
|
|||||||
if (!callee.computed) return false;
|
if (!callee.computed) return false;
|
||||||
|
|
||||||
prop = callee.property;
|
prop = callee.property;
|
||||||
if (!t.isIdentifier(prop.object, { name: "Symbol" })) return false;
|
if (!isSymboliterator(prop)) return false;
|
||||||
if (!t.isIdentifier(prop.property, { name: "iterator" })) return false;
|
|
||||||
|
|
||||||
return util.template("corejs-iterator", {
|
return util.template("corejs-iterator", {
|
||||||
CORE_ID: file.get("coreIdentifier"),
|
CORE_ID: file.get("coreIdentifier"),
|
||||||
@ -60,9 +61,7 @@ var astVisitor = {
|
|||||||
if (node.operator !== "in") return;
|
if (node.operator !== "in") return;
|
||||||
|
|
||||||
var left = node.left;
|
var left = node.left;
|
||||||
if (!t.isMemberExpression(left)) return;
|
if (!isSymboliterator(left)) return;
|
||||||
if (!t.isIdentifier(left.object, { name: "Symbol" })) return;
|
|
||||||
if (!t.isIdentifier(left.property, { name: "iterator" })) return;
|
|
||||||
|
|
||||||
return util.template("corejs-is-iterator", {
|
return util.template("corejs-is-iterator", {
|
||||||
CORE_ID: file.get("coreIdentifier"),
|
CORE_ID: file.get("coreIdentifier"),
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user