add support for resolving array expression elements

This commit is contained in:
Sebastian McKenzie 2015-06-02 00:32:18 +01:00
parent ff8d90061f
commit d35be22f7d

View File

@ -85,11 +85,11 @@ export function resolve(resolved?): ?NodePath {
var targetName = targetKey.value; var targetName = targetKey.value;
var target = this.get("object").resolve(resolved); var target = this.get("object").resolve(resolved);
if (!target || !target.isObjectExpression()) return; if (!target) return;
if (target.isObjectExpression()) {
var props = target.get("properties"); var props = target.get("properties");
for (var i = 0; i < props.length; i++) { for (var prop of (props: Array)) {
var prop = props[i];
if (!prop.isProperty()) continue; if (!prop.isProperty()) continue;
var key = prop.get("key"); var key = prop.get("key");
@ -102,6 +102,11 @@ export function resolve(resolved?): ?NodePath {
if (match) return prop.get("value"); if (match) return prop.get("value");
} }
} else if (target.isArrayExpression() && !isNaN(+targetName)) {
var elems = target.get("elements");
var elem = elems[targetName];
if (elem) return elem.resolve(resolved);
}
} else { } else {
return this; return this;
} }