Skip to content

Commit 0800c95

Browse files
authored
change ResourceStateImportResult to use Record and remove redundant s… (#1)
change ResourceStateImportResult to use Record and remove redundant settings assignment
1 parent c92140f commit 0800c95

File tree

4 files changed

+19
-24
lines changed

4 files changed

+19
-24
lines changed

src/resourceState/ResourceStateImporter.ts

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,8 @@ export class ResourceStateImporter {
9090
const fetchedResourceStates: ResourceTemplateFormat[] = [];
9191
const importResult: ResourceStateImportResult = {
9292
title: 'Resource State Import',
93-
failedImports: new Map<ResourceType, ResourceIdentifier[]>(),
94-
successfulImports: new Map<ResourceType, ResourceIdentifier[]>(),
93+
failedImports: {},
94+
successfulImports: {},
9595
};
9696

9797
const generatedLogicalIds = new Set<string>();
@@ -294,24 +294,22 @@ export class ResourceStateImporter {
294294

295295
private getFailureResponse(
296296
title: string,
297-
successfulImports?: Map<ResourceType, ResourceIdentifier[]>,
298-
failedImports?: Map<ResourceType, ResourceIdentifier[]>,
297+
successfulImports?: Record<ResourceType, ResourceIdentifier[]>,
298+
failedImports?: Record<ResourceType, ResourceIdentifier[]>,
299299
): ResourceStateImportResult {
300300
return {
301301
title: title,
302-
successfulImports: successfulImports ?? new Map<ResourceType, ResourceIdentifier[]>(),
303-
failedImports: failedImports ?? new Map<ResourceType, ResourceIdentifier[]>(),
302+
successfulImports: successfulImports ?? {},
303+
failedImports: failedImports ?? {},
304304
};
305305
}
306306

307-
private getOrCreate<K, V>(map: Map<K, V>, key: K, createValue: V): V {
308-
if (map.has(key)) {
309-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
310-
return map.get(key)!; // non-null assertion after check with has()
307+
private getOrCreate<V>(record: Record<string, V>, key: string, createValue: V): V {
308+
if (key in record) {
309+
return record[key];
311310
} else {
312-
const newValue = createValue;
313-
map.set(key, newValue);
314-
return newValue;
311+
record[key] = createValue;
312+
return createValue;
315313
}
316314
}
317315

src/resourceState/ResourceStateManager.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -198,9 +198,6 @@ export class ResourceStateManager implements Configurable, Closeable {
198198
this.settingsSubscription.unsubscribe();
199199
}
200200

201-
const newSettings = settingsManager.getCurrentSettings().profile;
202-
this.onSettingsChanged(newSettings);
203-
204201
this.settingsSubscription = settingsManager.subscribe('profile', (newResourceStateSettings) => {
205202
this.onSettingsChanged(newResourceStateSettings);
206203
});

src/resourceState/ResourceStateTypes.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ export interface ResourceStateImportParams extends CodeActionParams {
2222
}
2323

2424
export interface ResourceStateImportResult extends CodeAction {
25-
successfulImports: Map<ResourceType, ResourceIdentifier[]>;
26-
failedImports: Map<ResourceType, ResourceIdentifier[]>;
25+
successfulImports: Record<ResourceType, ResourceIdentifier[]>;
26+
failedImports: Record<ResourceType, ResourceIdentifier[]>;
2727
}
2828

2929
export const ResourceStateImportRequest = new RequestType<ResourceStateImportParams, ResourceStateImportResult, void>(

tst/unit/resourceState/ResourceStateImporter.test.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -233,8 +233,8 @@ Resources:
233233

234234
expect(result.edit).toBeUndefined();
235235
expect(result.title).toBe('No resources selected for import.');
236-
expect(result.successfulImports.size).toBe(0);
237-
expect(result.failedImports.size).toBe(0);
236+
expect(Object.keys(result.successfulImports)).toHaveLength(0);
237+
expect(Object.keys(result.failedImports)).toHaveLength(0);
238238
});
239239

240240
it('should return failure when document is not found', async () => {
@@ -254,8 +254,8 @@ Resources:
254254

255255
expect(result.edit).toBeUndefined();
256256
expect(result.title).toBe('Import failed. Document not found.');
257-
expect(result.successfulImports.size).toBe(0);
258-
expect(result.failedImports.size).toBe(0);
257+
expect(Object.keys(result.successfulImports)).toHaveLength(0);
258+
expect(Object.keys(result.failedImports)).toHaveLength(0);
259259
});
260260

261261
it('should return failure when syntax tree is not found', async () => {
@@ -282,8 +282,8 @@ Resources:
282282

283283
expect(result.edit).toBeUndefined();
284284
expect(result.title).toBe('Import failed. Syntax tree not found');
285-
expect(result.successfulImports.size).toBe(0);
286-
expect(result.failedImports.size).toBe(0);
285+
expect(Object.keys(result.successfulImports)).toHaveLength(0);
286+
expect(Object.keys(result.failedImports)).toHaveLength(0);
287287

288288
// Cleanup
289289
(documentManager as any).documents._syncedDocuments.delete(uri);

0 commit comments

Comments
 (0)