AshUi.Comprehension (ash_ui v0.1.0)

Copy Markdown View Source

A keyed collection in the render algebra — structurally identical to Phoenix.LiveView.Comprehension. AshUi always emits keyed entries (has_key?: true) and never emits streams: collections are keyed comprehensions over resource state by model, permanently — stream and LiveComponents are excluded from this algebra by design, not omission.

Entries are {key, vars, render_fun} where render_fun.(changed_vars, track_changes?) returns the entry's dynamic list.

Summary

Types

key()

@type key() :: term()

keyed_render_fun()

@type keyed_render_fun() :: (map(), boolean() -> [AshUi.Rendered.dyn()])

t()

@type t() :: %AshUi.Comprehension{
  entries: [{key(), map(), keyed_render_fun()}],
  fingerprint: integer(),
  has_key?: boolean(),
  static: [binary()],
  stream: nil
}