ssevents/event

Event and item domain values.

Event is opaque so the package can evolve its representation without a breaking change. Construct via new, from_parts, and the builder helpers. Item stays transparent because callers and helper modules frequently pattern match on whether a stream element is an event or a comment.

Types

pub opaque type Event
pub type Item {
  EventItem(Event)
  Comment(String)
}

Constructors

  • EventItem(Event)
  • Comment(String)

Values

pub fn data(event: Event, data: String) -> Event
pub fn data_of(event: Event) -> String
pub fn event(event: Event, name: String) -> Event
pub fn event_item(event: Event) -> Item
pub fn from_parts(
  event_name event_name: option.Option(String),
  data data: String,
  id id: option.Option(String),
  retry retry: option.Option(Int),
) -> Event
pub fn id(event: Event, id: String) -> Event
pub fn id_of(event: Event) -> option.Option(String)
pub fn message(data: String) -> Event
pub fn name_of(event: Event) -> option.Option(String)
pub fn named(name: String, data: String) -> Event
pub fn new(data: String) -> Event
pub fn retry(event: Event, milliseconds: Int) -> Event
pub fn retry_of(event: Event) -> option.Option(Int)
Search Document