fix import specifier and export specifier keys

This commit is contained in:
Sebastian McKenzie 2015-01-07 07:57:36 +11:00
parent 92359520cd
commit 2a09c0a5a5

View File

@ -355,16 +355,24 @@ t.getIds = function (node, map, ignoreTypes) {
if (!id) continue;
if (_.contains(ignoreTypes, id.type)) continue;
var nodeKey = t.getIds.nodes[id.type];
var nodeKeys = t.getIds.nodes[id.type];
var arrKeys = t.getIds.arrays[id.type];
var i, key;
if (t.isIdentifier(id)) {
ids[id.name] = id;
} else if (nodeKey) {
if (id[nodeKey]) search.push(id[nodeKey]);
} else if (nodeKeys) {
for (i in nodeKeys) {
key = nodeKeys[i];
if (id[key]) {
search.push(id[key]);
break;
}
}
} else if (arrKeys) {
for (var i in arrKeys) {
var key = arrKeys[i];
for (i in arrKeys) {
key = arrKeys[i];
search = search.concat(id[key] || []);
}
}
@ -375,15 +383,15 @@ t.getIds = function (node, map, ignoreTypes) {
};
t.getIds.nodes = {
AssignmentExpression: "left",
ImportSpecifier: "name",
ExportSpecifier: "name",
VariableDeclarator: "id",
FunctionDeclaration: "id",
ClassDeclaration: "id",
MemeberExpression: "object",
SpreadElement: "argument",
Property: "value"
AssignmentExpression: ["left"],
ImportSpecifier: ["name", "id"],
ExportSpecifier: ["name", "id"],
VariableDeclarator: ["id"],
FunctionDeclaration: ["id"],
ClassDeclaration: ["id"],
MemeberExpression: ["object"],
SpreadElement: ["argument"],
Property: ["value"]
};
t.getIds.arrays = {