Home / File/ resolve-family.ts — astro Source File

resolve-family.ts — astro Source File

Architecture documentation for resolve-family.ts, a typescript file in the astro codebase. 3 imports, 0 dependents.

File typescript CoreAstro RenderingEngine 3 imports 1 functions

Entity Profile

Dependency Diagram

graph LR
  8fa9cf14_3cbc_4e24_b3f2_c8dcb6f24552["resolve-family.ts"]
  e92fda44_4a5d_b83b_1a45_958cdae6c91b["./definitions.js"]
  8fa9cf14_3cbc_4e24_b3f2_c8dcb6f24552 --> e92fda44_4a5d_b83b_1a45_958cdae6c91b
  ea387312_d0a2_bb52_dafc_3872f7307f95["../../src/assets/fonts/types.js"]
  8fa9cf14_3cbc_4e24_b3f2_c8dcb6f24552 --> ea387312_d0a2_bb52_dafc_3872f7307f95
  aca757ac_dcac_a793_a9c5_394cd0d7d313["../utils.js"]
  8fa9cf14_3cbc_4e24_b3f2_c8dcb6f24552 --> aca757ac_dcac_a793_a9c5_394cd0d7d313
  style 8fa9cf14_3cbc_4e24_b3f2_c8dcb6f24552 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import type { Hasher } from '../definitions.js';
import type { FontFamily, ResolvedFontFamily } from '../types.js';
import { dedupe, withoutQuotes } from '../utils.js';

export function resolveFamily({
	family,
	hasher,
}: {
	family: FontFamily;
	hasher: Hasher;
}): ResolvedFontFamily {
	// We remove quotes from the name so they can be properly resolved by providers.
	const name = withoutQuotes(family.name);

	return {
		...family,
		name,
		// This will be used in CSS font faces. Quotes are added by the CSS renderer if
		// this value contains a space.
		uniqueName: `${name}-${hasher.hashObject(family)}`,
		weights: family.weights ? dedupe(family.weights.map((weight) => weight.toString())) : undefined,
		styles: family.styles ? dedupe(family.styles) : undefined,
		subsets: family.subsets ? dedupe(family.subsets) : undefined,
		formats: family.formats ? dedupe(family.formats) : undefined,
		fallbacks: family.fallbacks ? dedupe(family.fallbacks) : undefined,
		unicodeRange: family.unicodeRange ? dedupe(family.unicodeRange) : undefined,
	};
}

Domain

Subdomains

Functions

Dependencies

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

Frequently Asked Questions

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