Skip to content

Commit 8a59f6e

Browse files
committed
f
1 parent aeafa7d commit 8a59f6e

File tree

1 file changed

+7
-9
lines changed

1 file changed

+7
-9
lines changed

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

+7-9
Original file line numberDiff line numberDiff line change
@@ -2,25 +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));
19-
}
20-
21-
private findMatchingAliasesInFile(sourceFile: SourceFile, targetDependency: string): TypeAliasDeclaration[] {
22-
console.log(`🔎 Searching for ${targetDependency} in ${sourceFile.getTypeAliases().length} type aliases`);
23-
return sourceFile.getTypeAliases().filter(alias => this.matchesDependencyOfType(alias, targetDependency));
17+
private findAllMatchingAliases(targetDependency: Node): TypeAliasDeclaration[] {
18+
return targetDependency
19+
.getSourceFile()
20+
.getTypeAliases()
21+
.filter(alias => this.matchesDependencyOfType(alias, targetDependency.getText()));
2422
}
2523

2624
private matchesDependencyOfType(alias: TypeAliasDeclaration, targetDependency: string): boolean {

0 commit comments

Comments
 (0)