lightspeed/event

Typed event decoders for browser-originated event payloads.

Types

Typed event decoder errors.

pub type DecodeError {
  UnexpectedEvent(expected: String, actual: String)
  InvalidForm(form.FormError)
}

Constructors

  • UnexpectedEvent(expected: String, actual: String)
  • InvalidForm(form.FormError)

Browser-originated inbound event frame payload.

pub type InboundEvent {
  InboundEvent(name: String, payload: String)
}

Constructors

  • InboundEvent(name: String, payload: String)

Values

pub fn decode_form(
  event: InboundEvent,
  expected_name: String,
  with: fn(form.FormData) -> Result(msg, form.FormError),
) -> Result(msg, DecodeError)

Decode an event payload through form bindings.

pub fn decode_unit(
  event: InboundEvent,
  expected_name: String,
  message: msg,
) -> Result(msg, DecodeError)

Decode an event with no payload requirement.

pub fn error_to_string(error: DecodeError) -> String

Convert decoder errors to stable log strings.

pub fn inbound(name: String, payload: String) -> InboundEvent

Build an inbound event.

pub fn name(event: InboundEvent) -> String

Event name.

pub fn payload(event: InboundEvent) -> String

Raw payload string.

Search Document