Volt.HMR.Message (Volt v0.19.2)

Copy Markdown View Source

JSON message sent over the HMR WebSocket protocol.

Uses JSONCodec for struct<->JSON (de)serialization. Jason is still used for the final binary encoding of the dumped map.

Wire types

  • update — an HMR update payload (path, changes, optional boundary, timestamp)
  • error — the current build errors (errors, as Volt.Dev.Error.entry/0 maps); an empty list hides the overlay
  • ping — heartbeat sent by the browser client
  • pong — heartbeat reply from the server

Summary

Functions

Decodes a JSON string into this struct.

Decodes a JSON string into this struct, raising on failure.

Dumps this struct into JSON-shaped data, respecting JSON field names.

Builds this struct from a decoded JSON map.

Builds this struct from a decoded JSON map, raising on failure.

Returns a JSON Schema-compatible schema map.

Types

t()

@type t() :: %Volt.HMR.Message{
  payload: term() | nil,
  type: :update | :error | :ping | :pong
}

Functions

decode(json)

Decodes a JSON string into this struct.

decode!(json)

Decodes a JSON string into this struct, raising on failure.

dump(struct)

Dumps this struct into JSON-shaped data, respecting JSON field names.

from_map(map)

Builds this struct from a decoded JSON map.

from_map!(map)

Builds this struct from a decoded JSON map, raising on failure.

schema()

Returns a JSON Schema-compatible schema map.