Skip to content

Commit 117cef6

Browse files
committed
chore: adjusted types for clarity
1 parent e7917bc commit 117cef6

File tree

9 files changed

+28
-11
lines changed

9 files changed

+28
-11
lines changed

src/indexer/AbstractIndexData.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
import { Memoize } from 'typescript-memoize';
2+
import { IndexedFilePath } from 'types/indexer';
23

34
export abstract class AbstractIndexData<T = any> {
4-
public constructor(protected data: Map<string, T>) {}
5+
public constructor(protected data: Map<IndexedFilePath, T>) {}
56

67
@Memoize()
78
public getValues(): T[] {

src/indexer/IndexManager.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import { ModuleIndexData } from './module/ModuleIndexData';
1313
import { AutoloadNamespaceIndexData } from './autoload-namespace/AutoloadNamespaceIndexData';
1414
import { EventsIndexData } from './events/EventsIndexData';
1515
import Logger from 'util/Logger';
16+
import { IndexerKey } from 'types/indexer';
1617

1718
type IndexerInstance = DiIndexer | ModuleIndexer | AutoloadNamespaceIndexer | EventsIndexer;
1819

@@ -121,7 +122,7 @@ class IndexManager {
121122
}
122123

123124
public getIndexStorageData<T = any>(
124-
id: string,
125+
id: IndexerKey,
125126
workspaceFolder?: WorkspaceFolder
126127
): Map<string, T> | undefined {
127128
const wf = workspaceFolder || Common.getActiveWorkspaceFolder();

src/indexer/IndexStorage.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,21 @@
11
import { WorkspaceFolder } from 'vscode';
2-
3-
export type IndexerStorage<T = any> = Record<string, Record<string, Map<string, T>>>;
2+
import { IndexerKey, IndexerStorage, IndexedFilePath } from 'types/indexer';
43

54
export default class IndexStorage {
65
private _indexStorage: IndexerStorage = {};
76

8-
public set(workspaceFolder: WorkspaceFolder, key: string, value: any) {
7+
public set(workspaceFolder: WorkspaceFolder, key: IndexerKey, value: Map<IndexedFilePath, any>) {
98
if (!this._indexStorage[workspaceFolder.uri.fsPath]) {
109
this._indexStorage[workspaceFolder.uri.fsPath] = {};
1110
}
1211

1312
this._indexStorage[workspaceFolder.uri.fsPath][key] = value;
1413
}
1514

16-
public get<T = any>(workspaceFolder: WorkspaceFolder, key: string): Map<string, T> | undefined {
15+
public get<T = any>(
16+
workspaceFolder: WorkspaceFolder,
17+
key: IndexerKey
18+
): Map<IndexedFilePath, T> | undefined {
1719
return this._indexStorage[workspaceFolder.uri.fsPath]?.[key];
1820
}
1921

src/indexer/Indexer.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
import { type GlobPattern, type Uri } from 'vscode';
2+
import { IndexerKey } from 'types/indexer';
23

34
export abstract class Indexer<D = any> {
4-
public abstract getId(): string;
5+
public abstract getId(): IndexerKey;
56
public abstract getName(): string;
67
public abstract getPattern(uri: Uri): GlobPattern;
78
public abstract indexFile(uri: Uri): Promise<D | undefined>;

src/indexer/autoload-namespace/AutoloadNamespaceIndexer.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,12 @@ import { RelativePattern, Uri } from 'vscode';
22
import { Indexer } from 'indexer/Indexer';
33
import FileSystem from 'util/FileSystem';
44
import { Namespace } from './types';
5+
import { IndexerKey } from 'types/indexer';
56

67
export default class AutoloadNamespaceIndexer extends Indexer<Namespace[]> {
78
public static readonly KEY = 'autoloadNamespace';
89

9-
public getId(): string {
10+
public getId(): IndexerKey {
1011
return AutoloadNamespaceIndexer.KEY;
1112
}
1213

src/indexer/di/DiIndexer.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { get } from 'lodash-es';
44
import FileSystem from 'util/FileSystem';
55
import { DiData, DiPlugin, DiPreference, DiType, DiVirtualType } from './types';
66
import { Indexer } from 'indexer/Indexer';
7+
import { IndexerKey } from 'types/indexer';
78

89
export default class DiIndexer extends Indexer<DiData> {
910
public static readonly KEY = 'di';
@@ -29,7 +30,7 @@ export default class DiIndexer extends Indexer<DiData> {
2930
});
3031
}
3132

32-
public getId(): string {
33+
public getId(): IndexerKey {
3334
return DiIndexer.KEY;
3435
}
3536

src/indexer/events/EventsIndexer.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { XMLParser } from 'fast-xml-parser';
33
import { get } from 'lodash-es';
44
import { Indexer } from 'indexer/Indexer';
55
import FileSystem from 'util/FileSystem';
6+
import { IndexerKey } from 'types/indexer';
67

78
export default class EventsIndexer extends Indexer<Event[]> {
89
public static readonly KEY = 'events';
@@ -21,7 +22,7 @@ export default class EventsIndexer extends Indexer<Event[]> {
2122
});
2223
}
2324

24-
public getId(): string {
25+
public getId(): IndexerKey {
2526
return EventsIndexer.KEY;
2627
}
2728

src/indexer/module/ModuleIndexer.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { get } from 'lodash-es';
44
import { Module } from './types';
55
import { Indexer } from 'indexer/Indexer';
66
import FileSystem from 'util/FileSystem';
7+
import { IndexerKey } from 'types/indexer';
78

89
export default class ModuleIndexer extends Indexer<Module> {
910
public static readonly KEY = 'module';
@@ -22,7 +23,7 @@ export default class ModuleIndexer extends Indexer<Module> {
2223
});
2324
}
2425

25-
public getId(): string {
26+
public getId(): IndexerKey {
2627
return ModuleIndexer.KEY;
2728
}
2829

src/types/indexer.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
export type IndexerKey = string;
2+
export type IndexedFilePath = string;
3+
type WorkspacePath = string;
4+
5+
export type IndexerStorage<T = any> = Record<
6+
WorkspacePath,
7+
Record<IndexerKey, Map<IndexedFilePath, T>>
8+
>;

0 commit comments

Comments
 (0)