wasmrs_rx/flux/
signal.rs

1use wasmrs_runtime::ConditionallySendSync;
2
3#[derive(PartialEq, Eq, Clone)]
4/// The [Signal] is the wrapper payload that wasmrx types pass around.
5pub enum Signal<Item, Err>
6where
7  Item: ConditionallySendSync,
8  Err: ConditionallySendSync,
9{
10  /// A success value.
11  Ok(Item),
12  /// An error value.
13  Err(Err),
14  /// An internal signal.
15  Complete,
16}
17
18impl<Item, Err> std::fmt::Debug for Signal<Item, Err>
19where
20  Item: ConditionallySendSync + std::fmt::Debug,
21  Err: ConditionallySendSync + std::fmt::Debug,
22{
23  fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
24    match self {
25      Self::Ok(arg0) => f.debug_tuple("Ok").field(arg0).finish(),
26      Self::Err(arg0) => f.debug_tuple("Err").field(arg0).finish(),
27      Self::Complete => f.write_str("Complete"),
28    }
29  }
30}