@@ -125,21 +125,19 @@ export class SourceTracking extends AsyncCreatable {
125
125
const resolverForDeletes = new MetadataResolver ( undefined , filenamesToVirtualTree ( deletes ) ) ;
126
126
127
127
nonDeletes
128
- . map ( ( filename ) => {
128
+ . flatMap ( ( filename ) => {
129
129
try {
130
130
return resolverForNonDeletes . getComponentsFromPath ( filename ) ;
131
131
} catch ( e ) {
132
132
this . logger . warn ( `unable to resolve ${ filename } ` ) ;
133
133
return undefined ;
134
134
}
135
135
} )
136
- . flat ( )
137
136
. filter ( sourceComponentGuard )
138
137
. map ( ( component ) => componentSet . add ( component ) ) ;
139
138
140
139
deletes
141
- . map ( ( filename ) => resolverForDeletes . getComponentsFromPath ( filename ) )
142
- . flat ( )
140
+ . flatMap ( ( filename ) => resolverForDeletes . getComponentsFromPath ( filename ) )
143
141
. filter ( sourceComponentGuard )
144
142
. map ( ( component ) => componentSet . add ( component , true ) ) ;
145
143
@@ -189,26 +187,23 @@ export class SourceTracking extends AsyncCreatable {
189
187
if ( changesToDelete . length > 0 ) {
190
188
// build a component set of the deleted types
191
189
const changesToDeleteWithFilePaths = this . populateFilePaths ( changesToDelete ) ;
192
- deletesAsFileResponse = changesToDeleteWithFilePaths
193
- . map ( ( changeResult ) =>
194
- changeResult && changeResult . filenames
195
- ? changeResult . filenames . map (
196
- ( filename ) =>
197
- ( {
198
- type : changeResult . type ,
199
- fullName : changeResult . name as string ,
200
- filePath : filename ,
201
- state : ComponentStatus . Deleted ,
202
- } as FileResponse ) // this assertion is because it matches the unexported Success flavor of FileResponse
203
- )
204
- : [ ]
205
- )
206
- . flat ( ) ;
190
+ deletesAsFileResponse = changesToDeleteWithFilePaths . flatMap ( ( changeResult ) =>
191
+ changeResult && changeResult . filenames
192
+ ? changeResult . filenames . map (
193
+ ( filename ) =>
194
+ ( {
195
+ type : changeResult . type ,
196
+ fullName : changeResult . name as string ,
197
+ filePath : filename ,
198
+ state : ComponentStatus . Deleted ,
199
+ } as FileResponse ) // this assertion is because it matches the unexported Success flavor of FileResponse
200
+ )
201
+ : [ ]
202
+ ) ;
207
203
// delete the files
208
204
const filenames = changesToDeleteWithFilePaths
209
205
// TODO: test that this works for undefined, string and string[]
210
- . map ( ( change ) => change . filenames as string [ ] )
211
- . flat ( )
206
+ . flatMap ( ( change ) => change . filenames as string [ ] )
212
207
. filter ( Boolean ) ;
213
208
await Promise . all ( filenames . map ( ( filename ) => fs . promises . unlink ( filename ) ) ) ;
214
209
await Promise . all ( [
@@ -303,15 +298,14 @@ export class SourceTracking extends AsyncCreatable {
303
298
: new MetadataResolver ( ) ;
304
299
305
300
return filenames
306
- . map ( ( filename ) => {
301
+ . flatMap ( ( filename ) => {
307
302
try {
308
303
return resolver . getComponentsFromPath ( filename ) ;
309
304
} catch ( e ) {
310
305
this . logger . warn ( `unable to resolve ${ filename } ` ) ;
311
306
return undefined ;
312
307
}
313
308
} )
314
- . flat ( )
315
309
. filter ( sourceComponentGuard ) as T [ ] ;
316
310
}
317
311
}
@@ -471,23 +465,19 @@ export class SourceTracking extends AsyncCreatable {
471
465
}
472
466
473
467
this . logger . debug ( `populateTypesAndNames for ${ elements . length } change elements` ) ;
474
- const filenames = elements
475
- . map ( ( element ) => element . filenames )
476
- . flat ( )
477
- . filter ( stringGuard ) ;
468
+ const filenames = elements . flatMap ( ( element ) => element . filenames ) . filter ( stringGuard ) ;
478
469
479
470
// component set generated from the filenames on all local changes
480
471
const resolver = new MetadataResolver ( undefined , resolveDeleted ? filenamesToVirtualTree ( filenames ) : undefined ) ;
481
472
const sourceComponents = filenames
482
- . map ( ( filename ) => {
473
+ . flatMap ( ( filename ) => {
483
474
try {
484
475
return resolver . getComponentsFromPath ( filename ) ;
485
476
} catch ( e ) {
486
477
this . logger . warn ( `unable to resolve ${ filename } ` ) ;
487
478
return undefined ;
488
479
}
489
480
} )
490
- . flat ( )
491
481
. filter ( sourceComponentGuard ) ;
492
482
493
483
this . logger . debug ( ` matching SourceComponents have ${ sourceComponents . length } items from local` ) ;
0 commit comments