diff --git a/extensions/ql-vscode/src/model-editor/model-editor-view.ts b/extensions/ql-vscode/src/model-editor/model-editor-view.ts index b010c9274..56bd11aaa 100644 --- a/extensions/ql-vscode/src/model-editor/model-editor-view.ts +++ b/extensions/ql-vscode/src/model-editor/model-editor-view.ts @@ -515,19 +515,7 @@ export class ModelEditorView extends AbstractWebview< databaseItem: addedDatabase ?? this.databaseItem, language: this.language, onResults: async (modeledMethods) => { - const modeledMethodsByName: Record = {}; - - for (const modeledMethod of modeledMethods) { - if (!(modeledMethod.signature in modeledMethodsByName)) { - modeledMethodsByName[modeledMethod.signature] = []; - } - - modeledMethodsByName[modeledMethod.signature].push( - modeledMethod, - ); - } - - this.addModeledMethods(modeledMethodsByName); + this.addModeledMethodsFromArray(modeledMethods); }, progress, token: tokenSource.token, @@ -563,17 +551,7 @@ export class ModelEditorView extends AbstractWebview< token: tokenSource.token, }); - const modeledMethodsByName: Record = {}; - - for (const modeledMethod of modeledMethods) { - if (!(modeledMethod.signature in modeledMethodsByName)) { - modeledMethodsByName[modeledMethod.signature] = []; - } - - modeledMethodsByName[modeledMethod.signature].push(modeledMethod); - } - - this.addModeledMethods(modeledMethodsByName); + this.addModeledMethodsFromArray(modeledMethods); } catch (e: unknown) { void showAndLogExceptionWithTelemetry( this.app.logger, @@ -806,6 +784,20 @@ export class ModelEditorView extends AbstractWebview< ); } + private addModeledMethodsFromArray(modeledMethods: ModeledMethod[]) { + const modeledMethodsByName: Record = {}; + + for (const modeledMethod of modeledMethods) { + if (!(modeledMethod.signature in modeledMethodsByName)) { + modeledMethodsByName[modeledMethod.signature] = []; + } + + modeledMethodsByName[modeledMethod.signature].push(modeledMethod); + } + + this.addModeledMethods(modeledMethodsByName); + } + private setModeledMethods(signature: string, methods: ModeledMethod[]) { this.modelingStore.updateModeledMethods( this.databaseItem,