Home / File/ collect-font-data.ts — astro Source File

collect-font-data.ts — astro Source File

Architecture documentation for collect-font-data.ts, a typescript file in the astro codebase. 2 imports, 0 dependents.

File typescript CoreAstro RenderingEngine 2 imports 1 functions

Entity Profile

Dependency Diagram

graph LR
  ce66a400_2bd3_9788_978e_30c00798c669["collect-font-data.ts"]
  ea387312_d0a2_bb52_dafc_3872f7307f95["../../src/assets/fonts/types.js"]
  ce66a400_2bd3_9788_978e_30c00798c669 --> ea387312_d0a2_bb52_dafc_3872f7307f95
  aca757ac_dcac_a793_a9c5_394cd0d7d313["../utils.js"]
  ce66a400_2bd3_9788_978e_30c00798c669 --> aca757ac_dcac_a793_a9c5_394cd0d7d313
  style ce66a400_2bd3_9788_978e_30c00798c669 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import type { FontData, FontDataByCssVariable, FontFamilyAssets } from '../types.js';
import { renderFontWeight } from '../utils.js';

export function collectFontData(
	fontFamilyAssets: Array<
		Pick<FontFamilyAssets, 'fonts'> & { family: Pick<FontFamilyAssets['family'], 'cssVariable'> }
	>,
) {
	const fontDataByCssVariable: FontDataByCssVariable = {};

	for (const { family, fonts } of fontFamilyAssets) {
		const fontData: Array<FontData> = [];
		for (const data of fonts) {
			fontData.push({
				weight: renderFontWeight(data.weight),
				style: data.style,
				src: data.src
					.filter((src) => 'url' in src)
					.map((src) => ({
						url: src.url,
						format: src.format,
						tech: src.tech,
					})),
			});
		}

		fontDataByCssVariable[family.cssVariable] = fontData;
	}

	return fontDataByCssVariable;
}

Domain

Subdomains

Functions

Dependencies

  • ../../src/assets/fonts/types.js
  • ../utils.js

Frequently Asked Questions

What does collect-font-data.ts do?
collect-font-data.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 collect-font-data.ts?
collect-font-data.ts defines 1 function(s): collectFontData.
What does collect-font-data.ts depend on?
collect-font-data.ts imports 2 module(s): ../../src/assets/fonts/types.js, ../utils.js.
Where is collect-font-data.ts in the architecture?
collect-font-data.ts is located at packages/astro/src/assets/fonts/core/collect-font-data.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