Skip to content

Commit 9538598

Browse files
invert uninstalled pkg comparator + cleanup (#1131)
1 parent a13a877 commit 9538598

File tree

1 file changed

+26
-19
lines changed

1 file changed

+26
-19
lines changed

Diff for: arduino-ide-extension/src/node/boards-service-impl.ts

+26-19
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,7 @@ export class BoardsServiceImpl
264264
const supportedUserFieldsResp =
265265
await new Promise<SupportedUserFieldsResponse>((resolve, reject) => {
266266
client.supportedUserFields(supportedUserFieldsReq, (err, resp) => {
267-
(!!err ? reject : resolve)(!!err ? err : resp);
267+
!!err ? reject(err) : resolve(resp);
268268
});
269269
});
270270
return supportedUserFieldsResp.getUserFieldsList().map((e) => {
@@ -286,10 +286,11 @@ export class BoardsServiceImpl
286286
const installedPlatformsReq = new PlatformListRequest();
287287
installedPlatformsReq.setInstance(instance);
288288
const installedPlatformsResp = await new Promise<PlatformListResponse>(
289-
(resolve, reject) =>
290-
client.platformList(installedPlatformsReq, (err, resp) =>
291-
(!!err ? reject : resolve)(!!err ? err : resp)
292-
)
289+
(resolve, reject) => {
290+
client.platformList(installedPlatformsReq, (err, resp) => {
291+
!!err ? reject(err) : resolve(resp);
292+
});
293+
}
293294
);
294295
const installedPlatforms =
295296
installedPlatformsResp.getInstalledPlatformsList();
@@ -298,10 +299,12 @@ export class BoardsServiceImpl
298299
req.setSearchArgs(options.query || '');
299300
req.setAllVersions(true);
300301
req.setInstance(instance);
301-
const resp = await new Promise<PlatformSearchResponse>((resolve, reject) =>
302-
client.platformSearch(req, (err, resp) =>
303-
(!!err ? reject : resolve)(!!err ? err : resp)
304-
)
302+
const resp = await new Promise<PlatformSearchResponse>(
303+
(resolve, reject) => {
304+
client.platformSearch(req, (err, resp) => {
305+
!!err ? reject(err) : resolve(resp);
306+
});
307+
}
305308
);
306309
const packages = new Map<string, BoardsPackage>();
307310
const toPackage = (platform: Platform) => {
@@ -337,8 +340,9 @@ export class BoardsServiceImpl
337340
const groupedById: Map<string, Platform[]> = new Map();
338341
for (const platform of resp.getSearchOutputList()) {
339342
const id = platform.getId();
340-
if (groupedById.has(id)) {
341-
groupedById.get(id)!.push(platform);
343+
const idGroup = groupedById.get(id);
344+
if (idGroup) {
345+
idGroup.push(platform);
342346
} else {
343347
groupedById.set(id, [platform]);
344348
}
@@ -363,17 +367,20 @@ export class BoardsServiceImpl
363367
if (!leftInstalled && rightInstalled) {
364368
return 1;
365369
}
366-
return Installable.Version.COMPARATOR(
367-
left.getLatest(),
368-
right.getLatest()
369-
); // Higher version comes first.
370+
371+
const invertedVersionComparator =
372+
Installable.Version.COMPARATOR(left.getLatest(), right.getLatest()) *
373+
-1;
374+
// Higher version comes first.
375+
376+
return invertedVersionComparator;
370377
};
371-
for (const id of groupedById.keys()) {
372-
groupedById.get(id)!.sort(installedAwareVersionComparator);
378+
for (const value of groupedById.values()) {
379+
value.sort(installedAwareVersionComparator);
373380
}
374381

375-
for (const id of groupedById.keys()) {
376-
for (const platform of groupedById.get(id)!) {
382+
for (const value of groupedById.values()) {
383+
for (const platform of value) {
377384
const id = platform.getId();
378385
const pkg = packages.get(id);
379386
if (pkg) {

0 commit comments

Comments
 (0)