sigmal/signal

See the readme for an example and some usage notes.

Types

pub type Signal(a)

Values

pub fn new() -> Signal(a)
pub fn receive(signal signal: Signal(a)) -> promise.Promise(a)

Receives a message from the default (empty string, "") topic of the signal. This will not receive messages from any of the other topics, i.e. is not a catch-all.

pub fn receive_from_topic(
  signal signal: Signal(a),
  topic topic: String,
) -> promise.Promise(a)

Receives a message from the specified topic.

Do not use the empty string ("") topic as that is reserved for the send and receive functions.

pub fn receive_from_topics(
  signal signal: Signal(a),
  topics topics: List(String),
) -> promise.Promise(a)

Receive a message to the specified topics. Only the first message to any of the topics is returned, and the rest ignored.

Do not use the empty string ("") topic as that is reserved for the send and receive functions.

pub fn send(signal signal: Signal(a), message message: a) -> Nil

Sends a message to the default (empty string, "") topic of the signal. This will not send a message to any of the other topics, i.e. is not a catch-all.

pub fn send_to_topic(
  signal signal: Signal(a),
  topic topic: String,
  message message: a,
) -> Nil

Sends a message to the specified topic.

Do not use the empty string ("") topic as that is reserved for the send and receive functions.

pub fn send_to_topics(
  signal signal: Signal(a),
  topics topics: List(String),
  message message: a,
) -> Nil

Sends a message to the specified topics. The message are sent in the order of the topics provided.

Do not use the empty string ("") topic as that is reserved for the send and receive functions.

Search Document