Convert `checksRunsSelected` state from array to set

Release-Notes: skip
Change-Id: Icaf33559fe3b4e924a2514ed8debcabbc95a8204
diff --git a/polygerrit-ui/app/models/views/change.ts b/polygerrit-ui/app/models/views/change.ts
index 6b80f23..3790bb0 100644
--- a/polygerrit-ui/app/models/views/change.ts
+++ b/polygerrit-ui/app/models/views/change.ts
@@ -14,7 +14,7 @@
 import {Tab} from '../../constants/constants';
 import {GerritView} from '../../services/router/router-model';
 import {UrlEncodedCommentId} from '../../types/common';
-import {toggle} from '../../utils/common-util';
+import {toggleSet} from '../../utils/common-util';
 import {select} from '../../utils/observable-util';
 import {
   encodeURL,
@@ -47,7 +47,7 @@
   /** selected attempt for check runs (undefined=latest) */
   attempt?: AttemptChoice;
   /** selected check runs identified by `checkName` */
-  checksRunsSelected?: string[];
+  checksRunsSelected?: Set<string>;
   /** regular expression for filtering check results */
   checksResultsFilter?: string;
 
@@ -117,7 +117,7 @@
   if (state.checksResultsFilter) {
     queries.push(`checksResultsFilter=${state.checksResultsFilter}`);
   }
-  if (state.checksRunsSelected && state.checksRunsSelected.length > 0) {
+  if (state.checksRunsSelected && state.checksRunsSelected.size > 0) {
     queries.push(`checksRunsSelected=${[...state.checksRunsSelected].sort()}`);
   }
   if (state.tab && state.tab !== Tab.FILES) {
@@ -174,7 +174,7 @@
 
   public readonly checksRunsSelected$ = select(
     this.state$,
-    state => state?.checksRunsSelected ?? []
+    state => state?.checksRunsSelected ?? new Set<string>()
   );
 
   constructor() {
@@ -191,7 +191,9 @@
   }
 
   toggleSelectedCheckRun(checkName: string) {
-    const selected = this.getState()?.checksRunsSelected ?? [];
-    this.updateState({checksRunsSelected: toggle(selected, checkName)});
+    const current = this.getState()?.checksRunsSelected ?? new Set();
+    const next = new Set(current);
+    toggleSet(next, checkName);
+    this.updateState({checksRunsSelected: next});
   }
 }