Home / File/ index.ts — astro Source File

index.ts — astro Source File

Architecture documentation for index.ts, a typescript file in the astro codebase. 4 imports, 0 dependents.

File typescript CoreAstro RenderingEngine 4 imports 7 functions

Entity Profile

Dependency Diagram

graph LR
  b2a950f3_8ca8_375e_0c71_a3eaca706b9a["index.ts"]
  ca7d80a2_3bb2_e13b_c4d4_db0d22bb3a8e["../infra/fontace-font-file-reader.js"]
  b2a950f3_8ca8_375e_0c71_a3eaca706b9a --> ca7d80a2_3bb2_e13b_c4d4_db0d22bb3a8e
  ea387312_d0a2_bb52_dafc_3872f7307f95["../../src/assets/fonts/types.js"]
  b2a950f3_8ca8_375e_0c71_a3eaca706b9a --> ea387312_d0a2_bb52_dafc_3872f7307f95
  fefe730d_a427_f535_4f49_19cc4c83f4f6["./local.js"]
  b2a950f3_8ca8_375e_0c71_a3eaca706b9a --> fefe730d_a427_f535_4f49_19cc4c83f4f6
  07866fa4_1b50_10c2_1b6b_5b1f385406b5["unifont"]
  b2a950f3_8ca8_375e_0c71_a3eaca706b9a --> 07866fa4_1b50_10c2_1b6b_5b1f385406b5
  style b2a950f3_8ca8_375e_0c71_a3eaca706b9a fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import {
	type AdobeProviderOptions,
	type GoogleFamilyOptions,
	type GoogleiconsFamilyOptions,
	type InitializedProvider,
	providers,
} from 'unifont';
import { FontaceFontFileReader } from '../infra/fontace-font-file-reader.js';
import type { FontProvider } from '../types.js';
import { type LocalFamilyOptions, LocalFontProvider } from './local.js';

/** [Adobe](https://fonts.adobe.com/) */
function adobe(config: AdobeProviderOptions): FontProvider {
	const provider = providers.adobe(config);
	let initializedProvider: InitializedProvider | undefined;
	return {
		name: provider._name,
		config,
		async init(context) {
			initializedProvider = await provider(context);
		},
		async resolveFont({ familyName, ...rest }) {
			return await initializedProvider?.resolveFont(familyName, rest);
		},
		async listFonts() {
			return await initializedProvider?.listFonts?.();
		},
	};
}

/** [Bunny](https://fonts.bunny.net/) */
function bunny(): FontProvider {
	const provider = providers.bunny();
	let initializedProvider: InitializedProvider | undefined;
	return {
		name: provider._name,
		async init(context) {
			initializedProvider = await provider(context);
		},
		async resolveFont({ familyName, ...rest }) {
			return await initializedProvider?.resolveFont(familyName, rest);
		},
		async listFonts() {
			return await initializedProvider?.listFonts?.();
		},
	};
}

/** [Fontshare](https://www.fontshare.com/) */
function fontshare(): FontProvider {
	const provider = providers.fontshare();
	let initializedProvider: InitializedProvider | undefined;
	return {
		name: provider._name,
		async init(context) {
			initializedProvider = await provider(context);
		},
		async resolveFont({ familyName, ...rest }) {
			return await initializedProvider?.resolveFont(familyName, rest);
		},
// ... (87 more lines)

Domain

Subdomains

Dependencies

  • ../../src/assets/fonts/types.js
  • ../infra/fontace-font-file-reader.js
  • ./local.js
  • unifont

Frequently Asked Questions

What does index.ts do?
index.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 index.ts?
index.ts defines 7 function(s): adobe, bunny, fontshare, fontsource, google, googleicons, local.
What does index.ts depend on?
index.ts imports 4 module(s): ../../src/assets/fonts/types.js, ../infra/fontace-font-file-reader.js, ./local.js, unifont.
Where is index.ts in the architecture?
index.ts is located at packages/astro/src/assets/fonts/providers/index.ts (domain: CoreAstro, subdomain: RenderingEngine, directory: packages/astro/src/assets/fonts/providers).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free