diff --git a/src/resourceState/ResourceStateImporter.ts b/src/resourceState/ResourceStateImporter.ts index b9aefc69..7b9f23c3 100644 --- a/src/resourceState/ResourceStateImporter.ts +++ b/src/resourceState/ResourceStateImporter.ts @@ -90,8 +90,8 @@ export class ResourceStateImporter { const fetchedResourceStates: ResourceTemplateFormat[] = []; const importResult: ResourceStateImportResult = { title: 'Resource State Import', - failedImports: new Map(), - successfulImports: new Map(), + failedImports: {}, + successfulImports: {}, }; const generatedLogicalIds = new Set(); @@ -294,24 +294,22 @@ export class ResourceStateImporter { private getFailureResponse( title: string, - successfulImports?: Map, - failedImports?: Map, + successfulImports?: Record, + failedImports?: Record, ): ResourceStateImportResult { return { title: title, - successfulImports: successfulImports ?? new Map(), - failedImports: failedImports ?? new Map(), + successfulImports: successfulImports ?? {}, + failedImports: failedImports ?? {}, }; } - private getOrCreate(map: Map, key: K, createValue: V): V { - if (map.has(key)) { - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - return map.get(key)!; // non-null assertion after check with has() + private getOrCreate(record: Record, key: string, createValue: V): V { + if (key in record) { + return record[key]; } else { - const newValue = createValue; - map.set(key, newValue); - return newValue; + record[key] = createValue; + return createValue; } } diff --git a/src/resourceState/ResourceStateManager.ts b/src/resourceState/ResourceStateManager.ts index f564fdea..2f9ae144 100644 --- a/src/resourceState/ResourceStateManager.ts +++ b/src/resourceState/ResourceStateManager.ts @@ -198,9 +198,6 @@ export class ResourceStateManager implements Configurable, Closeable { this.settingsSubscription.unsubscribe(); } - const newSettings = settingsManager.getCurrentSettings().profile; - this.onSettingsChanged(newSettings); - this.settingsSubscription = settingsManager.subscribe('profile', (newResourceStateSettings) => { this.onSettingsChanged(newResourceStateSettings); }); diff --git a/src/resourceState/ResourceStateTypes.ts b/src/resourceState/ResourceStateTypes.ts index fe32f7c3..75c0b18f 100644 --- a/src/resourceState/ResourceStateTypes.ts +++ b/src/resourceState/ResourceStateTypes.ts @@ -22,8 +22,8 @@ export interface ResourceStateImportParams extends CodeActionParams { } export interface ResourceStateImportResult extends CodeAction { - successfulImports: Map; - failedImports: Map; + successfulImports: Record; + failedImports: Record; } export const ResourceStateImportRequest = new RequestType( diff --git a/tst/unit/resourceState/ResourceStateImporter.test.ts b/tst/unit/resourceState/ResourceStateImporter.test.ts index 9638c726..d7f0abe6 100644 --- a/tst/unit/resourceState/ResourceStateImporter.test.ts +++ b/tst/unit/resourceState/ResourceStateImporter.test.ts @@ -233,8 +233,8 @@ Resources: expect(result.edit).toBeUndefined(); expect(result.title).toBe('No resources selected for import.'); - expect(result.successfulImports.size).toBe(0); - expect(result.failedImports.size).toBe(0); + expect(Object.keys(result.successfulImports)).toHaveLength(0); + expect(Object.keys(result.failedImports)).toHaveLength(0); }); it('should return failure when document is not found', async () => { @@ -254,8 +254,8 @@ Resources: expect(result.edit).toBeUndefined(); expect(result.title).toBe('Import failed. Document not found.'); - expect(result.successfulImports.size).toBe(0); - expect(result.failedImports.size).toBe(0); + expect(Object.keys(result.successfulImports)).toHaveLength(0); + expect(Object.keys(result.failedImports)).toHaveLength(0); }); it('should return failure when syntax tree is not found', async () => { @@ -282,8 +282,8 @@ Resources: expect(result.edit).toBeUndefined(); expect(result.title).toBe('Import failed. Syntax tree not found'); - expect(result.successfulImports.size).toBe(0); - expect(result.failedImports.size).toBe(0); + expect(Object.keys(result.successfulImports)).toHaveLength(0); + expect(Object.keys(result.failedImports)).toHaveLength(0); // Cleanup (documentManager as any).documents._syncedDocuments.delete(uri);