bitbank_api/stream/
ticker.rs

1use super::*;
2
3pub use crate::public::ticker::Ticker;
4
5#[derive(TypedBuilder)]
6pub struct Params {
7    pair: Pair,
8}
9
10pub async fn connect(params: Params) -> anyhow::Result<impl tokio_stream::Stream<Item = Ticker>> {
11    let pair = params.pair;
12    let room_id = format!("ticker_{pair}");
13    do_connect(&room_id).await
14}
15
16#[cfg(test)]
17mod tests {
18    use super::*;
19    #[tokio::test]
20    async fn test() -> anyhow::Result<()> {
21        use futures_util::{pin_mut, StreamExt};
22
23        let params = Params::builder().pair(Pair(XRP, JPY)).build();
24        let st = connect(params).await?;
25        pin_mut!(st);
26        while let Some(_) = st.next().await {
27            break;
28        }
29        Ok(())
30    }
31}