Home / File/ types.d.ts — astro Source File

types.d.ts — astro Source File

Architecture documentation for types.d.ts, a typescript file in the astro codebase. 3 imports, 0 dependents.

File typescript CoreAstro RenderingEngine 3 imports 2 functions

Entity Profile

Dependency Diagram

graph LR
  b18a5b31_d420_7227_46f7_f2bf3a6e9d2b["types.d.ts"]
  ba93117b_68fd_34a7_b76f_a7c0caf61fec["./astro-jsx"]
  b18a5b31_d420_7227_46f7_f2bf3a6e9d2b --> ba93117b_68fd_34a7_b76f_a7c0caf61fec
  6c9d32a2_1905_5ced_1c5b_9ea0b1d33c8f["./dist/type-utils.js"]
  b18a5b31_d420_7227_46f7_f2bf3a6e9d2b --> 6c9d32a2_1905_5ced_1c5b_9ea0b1d33c8f
  538f66fd_384b_19b1_fab9_fef7b2321cc3["./dist/types/public/elements.js"]
  b18a5b31_d420_7227_46f7_f2bf3a6e9d2b --> 538f66fd_384b_19b1_fab9_fef7b2321cc3
  style b18a5b31_d420_7227_46f7_f2bf3a6e9d2b fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import './astro-jsx';
import type { OmitIndexSignature, Simplify } from './dist/type-utils.js';
import type { AstroBuiltinAttributes } from './dist/types/public/elements.js';

/** Any supported HTML or SVG element name, as defined by the HTML specification */
export type HTMLTag = keyof astroHTML.JSX.DefinedIntrinsicElements;

/** The built-in attributes for any known HTML or SVG element name */
export type HTMLAttributes<Tag extends HTMLTag> = Omit<
	astroHTML.JSX.DefinedIntrinsicElements[Tag],
	keyof Omit<AstroBuiltinAttributes, 'class:list'>
>;

/**
 * All the CSS properties available, as defined by the CSS specification
 */
export type CSSProperty = keyof astroHTML.JSX.KebabCSSDOMProperties;

type PolymorphicAttributes<P extends { as: HTMLTag }> = Omit<P, 'as'> & {
	as?: P['as'];
} & Omit<
		// This is the same as HTMLAttributes<P['as']>, except we're using OmitIndexSignature to remove the index signature,
		// used for data attribute, because it seems like it get too complex for TypeScript with it, not sure why.
		OmitIndexSignature<astroHTML.JSX.DefinedIntrinsicElements[P['as']]>,
		keyof Omit<AstroBuiltinAttributes, 'class:list'>
	>;

export type Polymorphic<P extends { as: HTMLTag }> = PolymorphicAttributes<
	Omit<P, 'as'> & { as: NonNullable<P['as']> }
>;

export type ComponentProps<T extends (args: any) => any> = Simplify<Parameters<T>[0]>;

export type SvgComponent = (props: astroHTML.JSX.SVGAttributes) => any;

Domain

Subdomains

Functions

Dependencies

  • ./astro-jsx
  • ./dist/type-utils.js
  • ./dist/types/public/elements.js

Frequently Asked Questions

What does types.d.ts do?
types.d.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 types.d.ts?
types.d.ts defines 2 function(s): args, props.
What does types.d.ts depend on?
types.d.ts imports 3 module(s): ./astro-jsx, ./dist/type-utils.js, ./dist/types/public/elements.js.
Where is types.d.ts in the architecture?
types.d.ts is located at packages/astro/types.d.ts (domain: CoreAstro, subdomain: RenderingEngine, directory: packages/astro).

Analyze Your Own Codebase

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

Try Supermodel Free