Skip to content

Commit 8d7cb5c

Browse files
authored
DynamicFonts - add isFontFamilyDownloaded (#2760)
1 parent 350179d commit 8d7cb5c

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

lib/components/DynamicFonts/index.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,4 +173,23 @@ export default class DynamicFonts {
173173
public async isFontDownloaded(fontName: string, fontExtension: FontExtension): Promise<boolean> {
174174
return await this.fontDownloader.isFontDownloaded(fontName, fontExtension);
175175
}
176+
177+
public async isFontFamilyDownloaded(rootUri: string,
178+
fontNames: string[],
179+
fontExtension: FontExtension,
180+
fontNamePrefix?: string): Promise<boolean> {
181+
const fonts: GetFontInput[] = fontNames.map(fontName =>
182+
this.buildFontData(rootUri, fontName, fontExtension, fontNamePrefix));
183+
try {
184+
const areDownloaded = await Promise.all(fonts
185+
.filter(font => font)
186+
.map(font => {
187+
return this.fontDownloader.isFontDownloaded(font.fontName, font.fontExtension);
188+
}));
189+
return Promise.resolve(areDownloaded.every(v => v === true));
190+
} catch (error) {
191+
this.log(`isFontFamilyDownloaded failed error:`, error);
192+
return Promise.resolve(false);
193+
}
194+
}
176195
}

0 commit comments

Comments
 (0)