mirror of https://github.com/sveltejs/svelte
parent
08faaeb601
commit
06410b83cd
@ -1,28 +1,13 @@
|
|||||||
import {
|
import {
|
||||||
Node,
|
Node,
|
||||||
Identifier,
|
Identifier,
|
||||||
ArrayExpression,
|
|
||||||
ObjectExpression,
|
|
||||||
ThisExpression,
|
|
||||||
ObjectPattern,
|
|
||||||
ArrayPattern,
|
|
||||||
Literal,
|
|
||||||
} from "estree";
|
} from "estree";
|
||||||
|
|
||||||
type ObjectType =
|
export default function get_object(node: Node): Identifier {
|
||||||
| Identifier
|
|
||||||
| ThisExpression
|
|
||||||
| ArrayExpression
|
|
||||||
| ObjectExpression
|
|
||||||
| ArrayPattern
|
|
||||||
| ObjectPattern
|
|
||||||
| Literal;
|
|
||||||
|
|
||||||
export default function get_object(node: Node): ObjectType {
|
|
||||||
while (true) {
|
while (true) {
|
||||||
if (node.type === "MemberExpression") node = node.object;
|
if (node.type === "MemberExpression") node = node.object;
|
||||||
else if (node.type === "CallExpression") node = node.callee;
|
else if (node.type === "CallExpression") node = node.callee;
|
||||||
else break;
|
else break;
|
||||||
}
|
}
|
||||||
return node as ObjectType;
|
return node as Identifier;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in new issue