types.d.ts — astro Source File
Architecture documentation for types.d.ts, a typescript file in the astro codebase. 3 imports, 0 dependents.
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
Dependencies
- ./astro-jsx
- ./dist/type-utils.js
- ./dist/types/public/elements.js
Source
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