Skip to content

Commit 94ca5f3

Browse files
author
Alberto Iannaccone
committed
apply suggestions
1 parent a34f6ff commit 94ca5f3

File tree

2 files changed

+14
-13
lines changed

2 files changed

+14
-13
lines changed

Diff for: arduino-ide-extension/src/browser/contributions/upload-sketch.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ export class UploadSketch extends CoreServiceContribution {
2828
override registerCommands(registry: CommandRegistry): void {
2929
registry.registerCommand(UploadSketch.Commands.UPLOAD_SKETCH, {
3030
execute: async () => {
31-
if (await this.userFields.checkUserFieldsDialog(false)) {
31+
if (await this.userFields.checkUserFieldsDialog()) {
3232
this.uploadSketch();
3333
}
3434
},

Diff for: arduino-ide-extension/src/browser/contributions/user-fields.ts

+13-12
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { inject, injectable } from '@theia/core/shared/inversify';
22
import { DisposableCollection, nls } from '@theia/core/lib/common';
3-
import { BoardUserField } from '../../common/protocol';
3+
import { BoardUserField, CoreError } from '../../common/protocol';
44
import { BoardsServiceProvider } from '../boards/boards-service-provider';
55
import { UserFieldsDialog } from '../dialogs/user-fields/user-fields-dialog';
66
import { ArduinoMenus, PlaceholderMenuNode } from '../menu/arduino-menus';
@@ -18,7 +18,7 @@ export class UserFields extends Contribution {
1818
private readonly userFieldsDialog: UserFieldsDialog;
1919

2020
@inject(BoardsServiceProvider)
21-
protected readonly boardsServiceProvider: BoardsServiceProvider;
21+
private readonly boardsServiceProvider: BoardsServiceProvider;
2222

2323
@inject(MenuModelRegistry)
2424
private readonly menuRegistry: MenuModelRegistry;
@@ -58,17 +58,17 @@ export class UserFields extends Contribution {
5858
}
5959
}
6060

61-
private selectedFqbnAddress(): string {
61+
private selectedFqbnAddress(): string | undefined {
6262
const { boardsConfig } = this.boardsServiceProvider;
6363
const fqbn = boardsConfig.selectedBoard?.fqbn;
6464
if (!fqbn) {
65-
return '';
65+
return undefined;
6666
}
6767
const address =
6868
boardsConfig.selectedBoard?.port?.address ||
6969
boardsConfig.selectedPort?.address;
7070
if (!address) {
71-
return '';
71+
return undefined;
7272
}
7373
return fqbn + '|' + address;
7474
}
@@ -78,9 +78,7 @@ export class UserFields extends Contribution {
7878
): Promise<BoardUserField[] | undefined> {
7979
const cached = this.cachedUserFields.get(key);
8080
// Deep clone the array of board fields to avoid editing the cached ones
81-
this.userFieldsDialog.value = (
82-
cached ?? (await this.boardsServiceProvider.selectedBoardUserFields())
83-
).map((f) => ({ ...f }));
81+
this.userFieldsDialog.value = cached ? cached.slice() : await this.boardsServiceProvider.selectedBoardUserFields();
8482
const result = await this.userFieldsDialog.open();
8583
if (!result) {
8684
return;
@@ -91,7 +89,7 @@ export class UserFields extends Contribution {
9189
return result;
9290
}
9391

94-
async checkUserFieldsDialog(forceOpen: boolean): Promise<boolean> {
92+
async checkUserFieldsDialog(forceOpen = false): Promise<boolean> {
9593
const key = this.selectedFqbnAddress();
9694
if (!key) {
9795
return false;
@@ -130,7 +128,11 @@ export class UserFields extends Contribution {
130128
}
131129

132130
getUserFields(): BoardUserField[] {
133-
return this.cachedUserFields.get(this.selectedFqbnAddress()) ?? [];
131+
const fqbnAddress = this.selectedFqbnAddress();
132+
if (!fqbnAddress) {
133+
return [];
134+
}
135+
return this.cachedUserFields.get(fqbnAddress) ?? [];
134136
}
135137

136138
isRequired(): boolean {
@@ -140,8 +142,7 @@ export class UserFields extends Contribution {
140142
notifyFailedWithError(e: Error): void {
141143
if (
142144
this.boardRequiresUserFields &&
143-
typeof e.message === 'string' &&
144-
e.message.startsWith('Upload error:')
145+
CoreError.UploadFailed.is(e)
145146
) {
146147
this.userFieldsSet = false;
147148
}

0 commit comments

Comments
 (0)