add support for resolving array expression elements
This commit is contained in:
parent
ff8d90061f
commit
d35be22f7d
@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user