Immutable composition of explicitly selected declarative schema modules.
A registry is assembled by the framework or maintainer tooling from known modules. It is not a runtime plugin registry and does not accept renderer callbacks or opaque native payloads.
Summary
Functions
Returns one component from the composed registry.
Returns the composed components in declaration order.
Returns provider/component entries in composed declaration order.
Includes one explicit schema module and rejects duplicate tags.
Returns all composed native tags in declaration order.
Creates an empty immutable schema registry.
Orders a complete registry by an explicit canonical tag manifest.
Returns the explicit provider module for one composed component.
Returns the stateful components in declaration order.
Types
@type provider_entry() :: %{ provider: schema_module(), component: GPUI.Schema.Component.t() }
@type schema_module() :: module()
@type t() :: %GPUI.Schema.Registry{ components: [GPUI.Schema.Component.t()], modules: [schema_module()] }
Functions
@spec component!(t(), atom()) :: GPUI.Schema.Component.t()
Returns one component from the composed registry.
@spec components(t()) :: [GPUI.Schema.Component.t()]
Returns the composed components in declaration order.
@spec entries(t()) :: [provider_entry()]
Returns provider/component entries in composed declaration order.
@spec include(t(), schema_module()) :: t()
Includes one explicit schema module and rejects duplicate tags.
Returns all composed native tags in declaration order.
@spec new() :: t()
Creates an empty immutable schema registry.
Orders a complete registry by an explicit canonical tag manifest.
@spec provider!(t(), atom()) :: schema_module()
Returns the explicit provider module for one composed component.
@spec stateful_components(t()) :: [GPUI.Schema.Component.t()]
Returns the stateful components in declaration order.