Ltix.DeepLinking.ContentItem.HTMLFragment (Ltix v0.2.0)

Copy Markdown View Source

An HTML fragment content item for Deep Linking responses.

Represents a chunk of HTML that the platform embeds directly.

Examples

iex> {:ok, fragment} = Ltix.DeepLinking.ContentItem.HTMLFragment.new(html: "<p>Hello</p>")
iex> Ltix.DeepLinking.ContentItem.to_map(fragment)
%{"type" => "html", "html" => "<p>Hello</p>"}

Options

  • :title (String.t/0) - Title for the content item.

  • :text (String.t/0) - Plain-text description.

  • :extensions (nil | map/0) - Required. Vendor-specific extension properties. The default value is %{}.

  • :html (String.t/0) - Required. HTML markup to embed.

Summary

Functions

Create a new HTML fragment content item.

Same as new/1 but raises on error.

Types

t()

@type t() :: %Ltix.DeepLinking.ContentItem.HTMLFragment{
  extensions: nil | %{optional(binary() | atom()) => any()},
  html: binary(),
  text: nil | binary(),
  title: nil | binary()
}

Functions

new(opts)

@spec new(keyword() | map()) :: {:ok, t()} | {:error, Exception.t()}

Create a new HTML fragment content item.

Takes the module's options as a keyword list or map. Unknown or invalid options return an Ltix.Errors.Invalid.InvalidField error.

Examples

iex> {:ok, fragment} = Ltix.DeepLinking.ContentItem.HTMLFragment.new(html: "<p>Hello</p>")
iex> fragment.html
"<p>Hello</p>"

iex> {:error, error} = Ltix.DeepLinking.ContentItem.HTMLFragment.new([])
iex> Exception.message(error)
"Ltix.DeepLinking.ContentItem.HTMLFragment field :html is required [DL §3.4]"

new!(opts)

@spec new!(keyword() | map()) :: t()

Same as new/1 but raises on error.

Examples

iex> Ltix.DeepLinking.ContentItem.HTMLFragment.new!(html: "<p>Hello</p>").html
"<p>Hello</p>"