get-or-create-font-family-assets.ts — astro Source File
Architecture documentation for get-or-create-font-family-assets.ts, a typescript file in the astro codebase. 2 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR cc85c4b9_2e58_08be_c10e_b5883c5cd62c["get-or-create-font-family-assets.ts"] d3861967_b647_84d2_ff48_15013353bd56["../core/logger/core.js"] cc85c4b9_2e58_08be_c10e_b5883c5cd62c --> d3861967_b647_84d2_ff48_15013353bd56 ea387312_d0a2_bb52_dafc_3872f7307f95["../../src/assets/fonts/types.js"] cc85c4b9_2e58_08be_c10e_b5883c5cd62c --> ea387312_d0a2_bb52_dafc_3872f7307f95 style cc85c4b9_2e58_08be_c10e_b5883c5cd62c fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import type { Logger } from '../../../core/logger/core.js';
import type { FontFamilyAssetsByUniqueKey, ResolvedFontFamily } from '../types.js';
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
Functions
Dependencies
- ../../src/assets/fonts/types.js
- ../core/logger/core.js
Source
Frequently Asked Questions
What does get-or-create-font-family-assets.ts do?
get-or-create-font-family-assets.ts is a source file in the astro codebase, written in typescript. It belongs to the CoreAstro domain, RenderingEngine subdomain.
What functions are defined in get-or-create-font-family-assets.ts?
get-or-create-font-family-assets.ts defines 1 function(s): getOrCreateFontFamilyAssets.
What does get-or-create-font-family-assets.ts depend on?
get-or-create-font-family-assets.ts imports 2 module(s): ../../src/assets/fonts/types.js, ../core/logger/core.js.
Where is get-or-create-font-family-assets.ts in the architecture?
get-or-create-font-family-assets.ts is located at packages/astro/src/assets/fonts/core/get-or-create-font-family-assets.ts (domain: CoreAstro, subdomain: RenderingEngine, directory: packages/astro/src/assets/fonts/core).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free