react-native-unit-components
Version:
Unit React Native components
25 lines (22 loc) • 736 B
text/typescript
import type { UNFonts } from '../../types/shared/fonts.types';
import AppInfo from '../../utils/AppInfo';
export const loadIosFontBase64 = async (fonts: UNFonts): Promise<Record<string, string>> => {
const fileNames = new Set<string>();
Object.values(fonts).forEach((familyFonts) => {
familyFonts.forEach((fontData) => {
fontData.sources.forEach((source) => {
fileNames.add(source.fileName);
});
});
});
const map: Record<string, string> = {};
for (const fileName of fileNames) {
try {
const base64 = await AppInfo.readFontFileAsBase64(fileName);
map[fileName] = base64;
} catch (e) {
console.warn(`Failed to read font file: ${fileName}`, e);
}
}
return map;
};