@@ -206,13 +206,9 @@ export class HistoryTreeDataProvider extends DisposableObject implements TreeDat
206206 const h1Label = this . labelProvider . getLabel ( h1 ) . toLowerCase ( ) ;
207207 const h2Label = this . labelProvider . getLabel ( h2 ) . toLowerCase ( ) ;
208208
209- const h1Date = h1 . t === 'local'
210- ? h1 . initialInfo . start . getTime ( )
211- : h1 . remoteQuery ?. executionStartTime ;
209+ const h1Date = this . getItemDate ( h1 ) ;
212210
213- const h2Date = h2 . t === 'local'
214- ? h2 . initialInfo . start . getTime ( )
215- : h2 . remoteQuery ?. executionStartTime ;
211+ const h2Date = this . getItemDate ( h2 ) ;
216212
217213 const resultCount1 = h1 . t === 'local'
218214 ? h1 . completedQuery ?. resultCount ?? - 1
@@ -311,6 +307,19 @@ export class HistoryTreeDataProvider extends DisposableObject implements TreeDat
311307 this . _sortOrder = newSortOrder ;
312308 this . _onDidChangeTreeData . fire ( undefined ) ;
313309 }
310+
311+ private getItemDate ( item : QueryHistoryInfo ) {
312+ switch ( item . t ) {
313+ case 'local' :
314+ return item . initialInfo . start . getTime ( ) ;
315+ case 'remote' :
316+ return item . remoteQuery . executionStartTime ;
317+ case 'variant-analysis' :
318+ return item . variantAnalysis . executionStartTime ;
319+ default :
320+ assertNever ( item ) ;
321+ }
322+ }
314323}
315324
316325export class QueryHistoryManager extends DisposableObject {
@@ -649,10 +658,20 @@ export class QueryHistoryManager extends DisposableObject {
649658 return ;
650659 }
651660
652- const queryPath = finalSingleItem . t === 'local'
653- ? finalSingleItem . initialInfo . queryPath
654- : finalSingleItem . remoteQuery . queryFilePath ;
655-
661+ let queryPath : string ;
662+ switch ( finalSingleItem . t ) {
663+ case 'local' :
664+ queryPath = finalSingleItem . initialInfo . queryPath ;
665+ break ;
666+ case 'remote' :
667+ queryPath = finalSingleItem . remoteQuery . queryFilePath ;
668+ break ;
669+ case 'variant-analysis' :
670+ queryPath = finalSingleItem . variantAnalysis . query . filePath ;
671+ break ;
672+ default :
673+ assertNever ( finalSingleItem ) ;
674+ }
656675 const textDocument = await workspace . openTextDocument (
657676 Uri . file ( queryPath )
658677 ) ;
@@ -710,8 +729,12 @@ export class QueryHistoryManager extends DisposableObject {
710729 // We need to delete it from disk as well.
711730 await item . completedQuery ?. query . deleteQuery ( ) ;
712731 }
713- } else {
732+ } else if ( item . t === 'remote' ) {
714733 await this . removeRemoteQuery ( item ) ;
734+ } else if ( item . t === 'variant-analysis' ) {
735+ // TODO
736+ } else {
737+ assertNever ( item ) ;
715738 }
716739 } ) ) ;
717740
@@ -1025,15 +1048,20 @@ export class QueryHistoryManager extends DisposableObject {
10251048 isQuickEval : String ( ! ! ( finalSingleItem . t === 'local' && finalSingleItem . initialInfo . quickEvalPosition ) ) ,
10261049 queryText : encodeURIComponent ( await this . getQueryText ( finalSingleItem ) ) ,
10271050 } ) ;
1028- const queryId = finalSingleItem . t === 'local'
1029- ? finalSingleItem . initialInfo . id
1030- : finalSingleItem . queryId ;
10311051
1032- const uri = Uri . parse (
1033- `codeql:${ queryId } ?${ params . toString ( ) } ` , true
1034- ) ;
1035- const doc = await workspace . openTextDocument ( uri ) ;
1036- await window . showTextDocument ( doc , { preview : false } ) ;
1052+ if ( finalSingleItem . t === 'variant-analysis' ) {
1053+ // TODO
1054+ } else {
1055+ const queryId = finalSingleItem . t === 'local'
1056+ ? finalSingleItem . initialInfo . id
1057+ : finalSingleItem . queryId ;
1058+
1059+ const uri = Uri . parse (
1060+ `codeql:${ queryId } ?${ params . toString ( ) } ` , true
1061+ ) ;
1062+ const doc = await workspace . openTextDocument ( uri ) ;
1063+ await window . showTextDocument ( doc , { preview : false } ) ;
1064+ }
10371065 }
10381066
10391067 async handleViewSarifAlerts (
@@ -1149,9 +1177,16 @@ export class QueryHistoryManager extends DisposableObject {
11491177 }
11501178
11511179 async getQueryText ( item : QueryHistoryInfo ) : Promise < string > {
1152- return item . t === 'local'
1153- ? item . initialInfo . queryText
1154- : item . remoteQuery . queryText ;
1180+ switch ( item . t ) {
1181+ case 'local' :
1182+ return item . initialInfo . queryText ;
1183+ case 'remote' :
1184+ return item . remoteQuery . queryText ;
1185+ case 'variant-analysis' :
1186+ return 'TODO' ;
1187+ default :
1188+ assertNever ( item ) ;
1189+ }
11551190 }
11561191
11571192 async handleExportResults ( ) : Promise < void > {
0 commit comments