PhoenixTestDatastar.SSE (PhoenixTestDatastar v0.0.2)

Copy Markdown

Parses Datastar SSE (Server-Sent Events) response bodies into structured events.

Supports the following Datastar event types:

  • datastar-patch-signals — updates client signal state
  • datastar-patch-elements — patches DOM elements

Summary

Functions

Parses an SSE response body into a list of structured events.

Types

event()

@type event() :: patch_signals_event() | patch_elements_event()

patch_elements_event()

@type patch_elements_event() :: %{
  type: :patch_elements,
  selector: String.t() | nil,
  mode:
    :outer | :inner | :remove | :replace | :prepend | :append | :before | :after,
  elements: String.t() | nil,
  namespace: :html | :svg | :mathml
}

patch_signals_event()

@type patch_signals_event() :: %{
  type: :patch_signals,
  signals: map(),
  only_if_missing: boolean()
}

Functions

parse(body)

@spec parse(String.t()) :: [event()]

Parses an SSE response body into a list of structured events.

Examples

iex> parse("event: datastar-patch-signals\ndata: signals {\"count\":1}\n\n")
[%{type: :patch_signals, signals: %{"count" => 1}, only_if_missing: false}]