expo-font
Version:
Load fonts at runtime and use them in React Native components.
29 lines • 1.24 kB
JavaScript
import { CodedError, UnavailabilityError } from 'expo-modules-core';
import ExpoFontLoader from './ExpoFontLoader';
import { getAssetForSource, loadSingleFontAsync } from './FontLoader';
export { withServerContext } from './serverContext';
/**
* @returns the server resources that should be statically extracted.
* @private
*/
export function getServerResources() {
if (!ExpoFontLoader.getServerResources) {
throw new UnavailabilityError('expo-font', 'getServerResources');
}
return ExpoFontLoader.getServerResources();
}
export function getServerResourceDescriptors() {
if (!ExpoFontLoader.getServerResourceDescriptors) {
throw new UnavailabilityError('expo-font', 'getServerResourceDescriptors');
}
return ExpoFontLoader.getServerResourceDescriptors();
}
export function registerStaticFont(fontFamily, source) {
// MUST BE A SYNC FUNCTION!
if (!source) {
throw new CodedError(`ERR_FONT_SOURCE`, `Cannot load null or undefined font source: { "${fontFamily}": ${source} }. Expected asset of type \`FontSource\` for fontFamily of name: "${fontFamily}"`);
}
const asset = getAssetForSource(source);
loadSingleFontAsync(fontFamily, asset);
}
//# sourceMappingURL=server.js.map