extractUnifontProviders() — astro Function Reference
Architecture documentation for the extractUnifontProviders() function in unifont-font-resolver.ts from the astro codebase.
Entity Profile
Dependency Diagram
graph TD 9f4d1ee9_7723_97a0_a304_0a2525104e5b["extractUnifontProviders()"] e75025f8_1303_03ea_42ce_653194e50374["UnifontFontResolver"] 9f4d1ee9_7723_97a0_a304_0a2525104e5b -->|defined in| e75025f8_1303_03ea_42ce_653194e50374 67ba1af0_9e8b_299f_9d2e_835350aaa28f["create()"] 67ba1af0_9e8b_299f_9d2e_835350aaa28f -->|calls| 9f4d1ee9_7723_97a0_a304_0a2525104e5b 86803e41_45ca_a354_b3e0_fd9a88d03563["idFromProvider()"] 9f4d1ee9_7723_97a0_a304_0a2525104e5b -->|calls| 86803e41_45ca_a354_b3e0_fd9a88d03563 585ad958_97bd_0d25_1b2b_d396c4fe2747["astroToUnifontProvider()"] 9f4d1ee9_7723_97a0_a304_0a2525104e5b -->|calls| 585ad958_97bd_0d25_1b2b_d396c4fe2747 style 9f4d1ee9_7723_97a0_a304_0a2525104e5b fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/astro/src/assets/fonts/infra/unifont-font-resolver.ts lines 45–71
static extractUnifontProviders({
families,
hasher,
root,
}: {
families: Array<ResolvedFontFamily>;
hasher: Hasher;
root: URL;
}) {
const providers = new Map<string, Provider>();
for (const { provider } of families) {
const id = this.idFromProvider({ hasher, provider });
if (!providers.has(id)) {
const unifontProvider = this.astroToUnifontProvider(provider, root);
// Makes sure every font uses the right instance of a given provider
// if this provider is provided several times with different options
// We have to mutate the unifont provider name because unifont deduplicates
// based on the name.
unifontProvider._name = this.idFromProvider({ hasher, provider });
providers.set(id, unifontProvider);
}
}
return Array.from(providers.values()) as NonEmptyProviders;
}
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does extractUnifontProviders() do?
extractUnifontProviders() is a function in the astro codebase, defined in packages/astro/src/assets/fonts/infra/unifont-font-resolver.ts.
Where is extractUnifontProviders() defined?
extractUnifontProviders() is defined in packages/astro/src/assets/fonts/infra/unifont-font-resolver.ts at line 45.
What does extractUnifontProviders() call?
extractUnifontProviders() calls 2 function(s): astroToUnifontProvider, idFromProvider.
What calls extractUnifontProviders()?
extractUnifontProviders() is called by 1 function(s): create.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free