AshUi.Rendered (ash_ui v0.1.0)

Copy Markdown View Source

The render algebra's node: statics interleaved with a dynamic function, identified by a fingerprint. Structurally identical to Phoenix.LiveView.Rendered (phoenix_live_view 1.1.x) so transport adapters can convert by struct rename alone; the shape is a frozen contract verified against LiveView as an executable oracle.

dynamic.(track_changes?) returns one entry per dynamic slot: nil (unchanged), iodata, a nested AshUi.Rendered, or an AshUi.Comprehension.

Summary

Types

dyn()

@type dyn() :: nil | iodata() | t() | AshUi.Comprehension.t()

t()

@type t() :: %AshUi.Rendered{
  caller:
    :not_available
    | {module(), {atom(), non_neg_integer()}, String.t(), pos_integer()},
  dynamic: (boolean() -> [dyn()]),
  fingerprint: integer(),
  root: boolean() | nil,
  static: [binary()]
}