Generic data binding model for views.
Bindings describe where data comes from. The current implementation supports planning and basic runtime loading for Ash resources, relationships, and assigns, while staying small enough to compose declaratively in the SDUI DSL.
Summary
Functions
Normalizes an incoming live update and applies it to the current binding value.
Loads binding values that require an Ash read.
Builds a loading plan for a list of bindings.
Normalizes a binding source into a concrete runtime binding.
Returns true when a message matches a binding subscription spec.
Returns normalized subscription specs for bindings that can update live.
Types
@type t() :: %AshSDUI.Binding{ default: term(), many?: boolean(), name: atom(), query: AshSDUI.Query.t() | atom() | nil, refresh: term(), source: term(), source_kind: atom(), source_meta: term(), status: atom(), subscription: map() | nil, update: term(), update_strategy: atom() | term(), value: term() }
Functions
Normalizes an incoming live update and applies it to the current binding value.
Loads binding values that require an Ash read.
Builds a loading plan for a list of bindings.
Normalizes a binding source into a concrete runtime binding.
Returns true when a message matches a binding subscription spec.
Returns normalized subscription specs for bindings that can update live.