getOrCreateFontFamilyAssets() — astro Function Reference
Architecture documentation for the getOrCreateFontFamilyAssets() function in get-or-create-font-family-assets.ts from the astro codebase.
Entity Profile
Dependency Diagram
graph TD 1f0376bb_5d21_b95f_d025_0a6828e87cc1["getOrCreateFontFamilyAssets()"] cc85c4b9_2e58_08be_c10e_b5883c5cd62c["get-or-create-font-family-assets.ts"] 1f0376bb_5d21_b95f_d025_0a6828e87cc1 -->|defined in| cc85c4b9_2e58_08be_c10e_b5883c5cd62c style 1f0376bb_5d21_b95f_d025_0a6828e87cc1 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/astro/src/assets/fonts/core/get-or-create-font-family-assets.ts lines 4–41
export function getOrCreateFontFamilyAssets({
fontFamilyAssetsByUniqueKey,
logger,
bold,
family,
}: {
fontFamilyAssetsByUniqueKey: FontFamilyAssetsByUniqueKey;
logger: Logger;
bold: (input: string) => string;
family: ResolvedFontFamily;
}) {
const key = `${family.cssVariable}:${family.name}:${family.provider.name}`;
let fontAssets = fontFamilyAssetsByUniqueKey.get(key);
if (!fontAssets) {
if (
Array.from(fontFamilyAssetsByUniqueKey.keys()).find((k) =>
k.startsWith(`${family.cssVariable}:`),
)
) {
logger.warn(
'assets',
`Several font families have been registered for the ${bold(family.cssVariable)} cssVariable but they do not share the same name and provider.`,
);
logger.warn(
'assets',
'These families will not be merged together. The last occurrence will override previous families for this cssVariable. Review your Astro configuration.',
);
}
fontAssets = {
family,
fonts: [],
collectedFontsForMetricsByUniqueKey: new Map(),
preloads: [],
};
fontFamilyAssetsByUniqueKey.set(key, fontAssets);
}
return fontAssets;
}
Domain
Subdomains
Source
Frequently Asked Questions
What does getOrCreateFontFamilyAssets() do?
getOrCreateFontFamilyAssets() is a function in the astro codebase, defined in packages/astro/src/assets/fonts/core/get-or-create-font-family-assets.ts.
Where is getOrCreateFontFamilyAssets() defined?
getOrCreateFontFamilyAssets() is defined in packages/astro/src/assets/fonts/core/get-or-create-font-family-assets.ts at line 4.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free