wasmrs_rx/flux/
observable.rs

1use futures::Stream;
2
3use super::{FluxChannel, FluxPipe};
4use wasmrs_runtime::ConditionallySendSync;
5
6/// The wasmrs-rx implementation of an Rx Observable trait
7pub trait Observable<Item, Err>: Stream<Item = Result<Item, Err>> + ConditionallySendSync
8where
9  Item: ConditionallySendSync,
10  Err: ConditionallySendSync,
11  Self: Sized,
12{
13  /// Pipe one [Flux] into another.
14  fn pipe(self, into: FluxChannel<Item, Err>) -> FluxPipe<Item, Err, Self> {
15    FluxPipe::new(self, into)
16  }
17}