File tree Expand file tree Collapse file tree 2 files changed +13
-3
lines changed Expand file tree Collapse file tree 2 files changed +13
-3
lines changed Original file line number Diff line number Diff line change @@ -452,8 +452,12 @@ async function getTranslations() {
452
452
}
453
453
const version = await getLatestStableVersion ( updateUrl ) ;
454
454
const languageIds = Object . keys ( Languages ) ;
455
- return await Promise . all ( languageIds . map ( languageId => getNLS ( resourceUrlTemplate , languageId , version )
455
+ const result = await Promise . allSettled ( languageIds . map ( languageId => getNLS ( resourceUrlTemplate , languageId , version )
456
+ . catch ( err => { console . warn ( `Missing translation: ${ languageId } @${ version } ` ) ; return Promise . reject ( err ) ; } )
456
457
. then ( languageTranslations => ( { languageId, languageTranslations } ) ) ) ) ;
458
+ return result
459
+ . filter ( ( r ) => r . status === 'fulfilled' )
460
+ . map ( r => r . value ) ;
457
461
}
458
462
async function main ( ) {
459
463
const [ policies , translations ] = await Promise . all ( [ parsePolicies ( ) , getTranslations ( ) ] ) ;
Original file line number Diff line number Diff line change @@ -585,7 +585,8 @@ const Languages = {
585
585
} ;
586
586
587
587
type LanguageTranslations = { [ moduleName : string ] : { [ nlsKey : string ] : string } } ;
588
- type Translations = { languageId : string ; languageTranslations : LanguageTranslations } [ ] ;
588
+ type Translation = { languageId : string ; languageTranslations : LanguageTranslations } ;
589
+ type Translations = Translation [ ] ;
589
590
590
591
async function getLatestStableVersion ( updateUrl : string ) {
591
592
const res = await fetch ( `${ updateUrl } /api/update/darwin/stable/latest` ) ;
@@ -643,10 +644,15 @@ async function getTranslations(): Promise<Translations> {
643
644
const version = await getLatestStableVersion ( updateUrl ) ;
644
645
const languageIds = Object . keys ( Languages ) ;
645
646
646
- return await Promise . all ( languageIds . map (
647
+ const result = await Promise . allSettled ( languageIds . map (
647
648
languageId => getNLS ( resourceUrlTemplate , languageId , version )
649
+ . catch ( err => { console . warn ( `Missing translation: ${ languageId } @${ version } ` ) ; return Promise . reject ( err ) ; } )
648
650
. then ( languageTranslations => ( { languageId, languageTranslations } ) )
649
651
) ) ;
652
+
653
+ return result
654
+ . filter ( ( r ) : r is PromiseFulfilledResult < Translation > => r . status === 'fulfilled' )
655
+ . map ( r => r . value ) ;
650
656
}
651
657
652
658
async function main ( ) {
You can’t perform that action at this time.
0 commit comments