View Source SilverOrb.StringBuilder (SilverOrb v0.0.10)
Build strings with dynamic content.
Here’s an example with components rendering dynamic HTML:
defmodule HelloWorldComponent do
  use Orb
  use SilverOrb.StringBuilder
  defwp daytime?(hour: I32), I32 do
    hour >= 6 &&& hour <= 19
  end
  defw render(hour: I32), StringBuilder do
    StringBuilder.build! do
      "<h1>"
      if daytime?(hour) do
        "Hello 🌞 sunny world"
      else
        "Hello 🌛 moonlit world"
      end
      "</h1>\n"
    end
  end
end
defmodule DynamicHTMLPage do
  use Orb
  use SilverOrb.StringBuilder
  Orb.include(HelloWorldComponent)
  global do
    @hour_of_day 8
  end
  defw set_hour_of_day(hour: I32) do
    @hour_of_day = hour
  end
  defw text_html(), StringBuilder do
    StringBuilder.build! do
      """
      <!doctype html>
      <meta charset="utf-8">
      """
      HelloWorldComponent.render(@hour_of_day)
    end
  end
end
  Summary
Functions
Convert this module’s Orb definition to WebAssembly text (Wat) format.
Functions
Convert this module’s Orb definition to WebAssembly text (Wat) format.