Musubi.Child (musubi v0.3.0)

Copy Markdown View Source

Render-time child placeholder sentinel resolved by Musubi.Resolver when it appears in store output.

Summary

Functions

Builds a child placeholder sentinel.

Types

assigns_map()

@type assigns_map() :: map()

t()

@type t() :: %Musubi.Child{
  assigns: assigns_map(),
  id: String.t() | nil,
  module: module()
}

Functions

child(module, opts \\ [])

@spec child(
  module(),
  keyword()
) :: t()

Builds a child placeholder sentinel.

The runtime treats the returned struct specially only when it appears inside a render/1 return value. Elsewhere it is inert data.

Examples

iex> sentinel = Musubi.Child.child(MyStore, id: "sidebar", title: "Inbox")
iex> sentinel.module
MyStore
iex> sentinel.id
"sidebar"
iex> sentinel.assigns
%{title: "Inbox"}