@@ -64,6 +64,11 @@ export interface SourceTrackingOptions {
64
64
ignoreLocalCache ?: boolean ;
65
65
}
66
66
67
+ type RemoteChangesResults = {
68
+ componentSetFromNonDeletes : ComponentSet ;
69
+ fileResponsesFromDelete : FileResponse [ ] ;
70
+ } ;
71
+
67
72
/**
68
73
* Manages source tracking files (remote and local)
69
74
*
@@ -315,14 +320,16 @@ export class SourceTracking extends AsyncCreatable {
315
320
*
316
321
* @returns the ComponentSet for what you would retrieve now that the deletes are done
317
322
*/
318
-
319
- public async maybeApplyRemoteDeletesToLocal ( ) : Promise < {
320
- componentSet : ComponentSet ;
321
- fileResponsesFromDelete : FileResponse [ ] ;
322
- } > {
323
+ public async maybeApplyRemoteDeletesToLocal ( returnDeleteComponentSet : true ) : Promise < RemoteChangesResults > ;
324
+ public async maybeApplyRemoteDeletesToLocal ( returnDeleteComponentSet ?: false ) : Promise < ComponentSet > ;
325
+ public async maybeApplyRemoteDeletesToLocal (
326
+ returnDeleteComponentSet ?: boolean
327
+ ) : Promise < ComponentSet | RemoteChangesResults > {
323
328
const changesToDelete = await this . getChanges ( { origin : 'remote' , state : 'delete' , format : 'SourceComponent' } ) ;
324
329
const fileResponsesFromDelete = await this . deleteFilesAndUpdateTracking ( changesToDelete ) ;
325
- return { componentSet : await this . remoteNonDeletesAsComponentSet ( ) , fileResponsesFromDelete } ;
330
+ return returnDeleteComponentSet
331
+ ? { componentSetFromNonDeletes : await this . remoteNonDeletesAsComponentSet ( ) , fileResponsesFromDelete }
332
+ : this . remoteNonDeletesAsComponentSet ( ) ;
326
333
}
327
334
/**
328
335
*
0 commit comments