Typed asynchronous frontend client for Proton applications.
Dependencies
///|
async fn load_todos {
let snapshot = @proton_client.invoke(@shared.list_todos, {})
render(snapshot)
}pub(all) suberror ClientFailure {
BridgeUnavailable
RequestCancelled
RequestTimedOut
InvalidContract(message~ : String)
RemoteFailure(code~ : String, message~ : String, detail~ : String?)
TransportFailure(message~ : String)
ResponseDecode(message~ : String)
EventDecode(message~ : String)
} derive(Eq, Debug)pub struct Subscription {
closed : Bool
close_listener : () -> Unit
}async fn[Request : ToJson, Response : FromJson] invoke(command : Command[Request, Response], request : Request) -> Response raise ClientFailurefn[Payload : FromJson] subscribe(event : Event[Payload], received : (Payload) -> Unit, failure : (ClientFailure) -> Unit) -> Subscription raise ClientFailureTyped asynchronous frontend client for Proton applications.
Dependencies