Astral.Islands.Registry (Astral v0.1.2)

Copy Markdown View Source

Per-render-process registry of client-side islands.

Astral renders islands while pages are rendered, then feeds generated island entry modules back into Volt so framework compilation stays in Volt.

Summary

Functions

Return every registered island.

Register an island and return its canonical value.

Return the site currently being rendered.

Start an empty island registry for a site render.

Clear the current process registry.

Types

state()

@type state() :: %{
  site: Astral.Site.t(),
  islands: %{required(String.t()) => Astral.Islands.Island.t()}
}

Functions

islands()

@spec islands() :: [Astral.Islands.Island.t()]

Return every registered island.

register(opts)

@spec register(keyword()) :: Astral.Islands.Island.t()

Register an island and return its canonical value.

site()

@spec site() :: Astral.Site.t()

Return the site currently being rendered.

start(site)

@spec start(Astral.Site.t()) :: :ok

Start an empty island registry for a site render.

stop()

@spec stop() :: :ok

Clear the current process registry.