rx/protocol

Types

pub type Kind {
  NextKind
  ErrorKind
  CompleteKind
}

Constructors

  • NextKind
  • ErrorKind
  • CompleteKind
pub type Notification(value, error) {
  OnNext(value)
  OnError(error)
  OnComplete
}

Constructors

  • OnNext(value)
  • OnError(error)
  • OnComplete
pub type Phase {
  Open
  Terminated
}

Constructors

  • Open
  • Terminated
pub type ProtocolError {
  NotificationAfterTermination
  DuplicateTermination
}

Constructors

  • NotificationAfterTermination
  • DuplicateTermination

Values

pub fn kind(notification: Notification(value, error)) -> Kind
pub fn transition(
  phase: Phase,
  event: Kind,
) -> Result(Phase, ProtocolError)
pub fn validate(
  notifications: List(Notification(value, error)),
) -> Result(Phase, ProtocolError)
Search Document