Skip to content

Commit 9008c47

Browse files
committed
f
1 parent aeafa7d commit 9008c47

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

packages/vscode-language-server-obsidian/server/src/services/typeReferenceFinder.ts

+7-4
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,23 @@ import { Node, TypeReferenceNode, TypeNode, TypeAliasDeclaration, SourceFile, St
22
import { ProjectAdapter } from "./ast/projectAdapter";
33

44
export class TypeReferenceFinder {
5-
constructor(private project: ProjectAdapter) { }
5+
constructor (private project: ProjectAdapter) { }
66

77
public findTypeReference(node: Node): TypeAliasDeclaration | undefined {
88
return Node.isIdentifier(node) ? this.findTypeReferenceInIdentifier(node as Identifier) : undefined;
99
}
1010

1111
private findTypeReferenceInIdentifier(node: Identifier) {
12-
const aliases = this.findAllMatchingAliases(node.getText());
12+
const aliases = this.findAllMatchingAliases(node);
1313
this.logMatches(aliases, node.getText());
1414
return aliases.length > 0 ? aliases[0] : undefined;
1515
}
1616

17-
private findAllMatchingAliases(targetDependency: string): TypeAliasDeclaration[] {
18-
return this.project.getSourceFiles().flatMap(sourceFile => this.findMatchingAliasesInFile(sourceFile, targetDependency));
17+
private findAllMatchingAliases(targetDependency: Node): TypeAliasDeclaration[] {
18+
return targetDependency
19+
.getSourceFile()
20+
.getTypeAliases()
21+
.filter(alias => this.matchesDependencyOfType(alias, targetDependency.getText()));
1922
}
2023

2124
private findMatchingAliasesInFile(sourceFile: SourceFile, targetDependency: string): TypeAliasDeclaration[] {

0 commit comments

Comments
 (0)