arpy-reqwasm 0.2.0

Reqwasm client for the Arpy RPC library
Documentation
use arpy::{FnRemote, MsgId, RpcClient};
use arpy_reqwasm::{http, websocket};
use reqwasm::websocket::futures::WebSocket;
use serde::{Deserialize, Serialize};

#[derive(MsgId, Serialize, Deserialize, Debug)]
struct MyAdd(u32, u32);

impl FnRemote for MyAdd {
    type Output = u32;
}

async fn my_app<Conn: RpcClient>(conn: &mut Conn) -> Result<(), Conn::Error> {
    let result = MyAdd(1, 2).call(conn).await?;

    assert_eq!(3, result);

    Ok(())
}

pub async fn http_client() {
    my_app(&mut http::Connection::new("http://127.0.0.1:9090/api/http"))
        .await
        .unwrap();
}

pub async fn websocket_client() {
    let ws = WebSocket::open("ws://127.0.0.1:9090/api/ws").unwrap();
    my_app(&mut websocket::Connection::new(ws)).await.unwrap();
}