Home / Function/ extractUnifontProviders() — astro Function Reference

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

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