11import { EventEmitter } from 'vscode'
2- import { PlotsOutput } from '../../cli/dvc/contract'
2+ import { PlotsOutputOrError } from '../../cli/dvc/contract'
3+ import { isDvcError } from '../../cli/dvc/reader'
34import { AvailableCommands , InternalCommands } from '../../commands/internal'
45import { BaseData } from '../../data'
56import {
@@ -9,7 +10,10 @@ import {
910} from '../../util/array'
1011import { PlotsModel } from '../model'
1112
12- export class PlotsData extends BaseData < { data : PlotsOutput ; revs : string [ ] } > {
13+ export class PlotsData extends BaseData < {
14+ data : PlotsOutputOrError
15+ revs : string [ ]
16+ } > {
1317 private readonly model : PlotsModel
1418
1519 constructor (
@@ -49,7 +53,7 @@ export class PlotsData extends BaseData<{ data: PlotsOutput; revs: string[] }> {
4953 }
5054
5155 const args = this . getArgs ( revs )
52- const data = await this . internalCommands . executeCommand < PlotsOutput > (
56+ const data = await this . internalCommands . executeCommand < PlotsOutputOrError > (
5357 AvailableCommands . PLOTS_DIFF ,
5458 this . dvcRoot ,
5559 ...args
@@ -66,8 +70,11 @@ export class PlotsData extends BaseData<{ data: PlotsOutput; revs: string[] }> {
6670 return this . processManager . run ( 'update' )
6771 }
6872
69- public collectFiles ( { data } : { data : PlotsOutput } ) {
70- return Object . keys ( data )
73+ public collectFiles ( { data } : { data : PlotsOutputOrError } ) {
74+ if ( isDvcError ( data ) ) {
75+ return this . collectedFiles
76+ }
77+ return [ ...Object . keys ( data ) , ...this . collectedFiles ]
7178 }
7279
7380 private getArgs ( revs : string [ ] ) {
0 commit comments