sprocket/render

Types

pub type RenderResult(a) {
  RenderResult(ctx: Context, rendered: a)
}

Constructors

  • RenderResult(ctx: Context, rendered: a)
pub type RenderedAttribute {
  RenderedAttribute(name: String, value: String)
  RenderedEventHandler(kind: String, id: String)
  RenderedClientHook(name: String, id: String)
}

Constructors

  • RenderedAttribute(name: String, value: String)
  • RenderedEventHandler(kind: String, id: String)
  • RenderedClientHook(name: String, id: String)
pub type RenderedElement {
  RenderedElement(
    tag: String,
    key: Option(String),
    attrs: List(RenderedAttribute),
    children: List(RenderedElement),
  )
  RenderedComponent(
    fc: AbstractFunctionalComponent,
    key: Option(String),
    props: Dynamic,
    hooks: ComponentHooks,
    children: List(RenderedElement),
  )
  RenderedText(text: String)
}

Constructors

  • RenderedElement(
      tag: String,
      key: Option(String),
      attrs: List(RenderedAttribute),
      children: List(RenderedElement),
    )
  • RenderedComponent(
      fc: AbstractFunctionalComponent,
      key: Option(String),
      props: Dynamic,
      hooks: ComponentHooks,
      children: List(RenderedElement),
    )
  • RenderedText(text: String)
pub type Renderer(result) {
  Renderer(render: fn(RenderedElement) -> result)
}

Constructors

  • Renderer(render: fn(RenderedElement) -> result)

Functions

pub fn append_attribute(
  el: RenderedElement,
  attr: RenderedAttribute,
) -> RenderedElement
pub fn find(
  el: RenderedElement,
  matches: fn(RenderedElement) -> Bool,
) -> Result(RenderedElement, Nil)
pub fn live_render(
  ctx: Context,
  el: Element,
  key: Option(String),
  prev: Option(RenderedElement),
) -> RenderResult(RenderedElement)
pub fn render(el: Element, renderer: Renderer(a)) -> a
pub fn traverse(
  el: RenderedElement,
  updater: fn(RenderedElement) -> RenderedElement,
) -> RenderedElement
Search Document