Typed asynchronous frontend client for Proton applications.
Dependencies
///|
async fn load_todos {
let snapshot = @proton_client.invoke(@shared.list_todos, {})
render(snapshot)
}pub struct Client {
start_request : (String, String, (String) -> Unit, (ClientFailure) -> Unit) -> (() -> Unit)
start_listener : (String, (String) -> Unit) -> (() -> Unit) raise ClientFailure
}fn Client::Client(invoke~ : (String, String, (String) -> Unit, (ClientFailure) -> Unit) -> (() -> Unit), subscribe~ : (String, (String) -> Unit) -> (() -> Unit) raise ClientFailure) -> Clientfn[Payload : FromJson] Client::subscribe(self : Client, event : Event[Payload], received : (Payload) -> Unit, failure : (ClientFailure) -> Unit) -> Subscription raise ClientFailurepub struct Subscription {
closed : Bool
close_listener : () -> Unit
}async fn[Request : ToJson, Response : FromJson] invoke(command : Command[Request, Response], request : Request) -> Response raise ClientFailurefn[Request : ToJson, Response : FromJson] invoke_with_callbacks(command : Command[Request, Response], request : Request, success : (Response) -> Unit, failure : (ClientFailure) -> Unit) -> (() -> Unit)fn[Payload : FromJson] subscribe(event : Event[Payload], received : (Payload) -> Unit, failure : (ClientFailure) -> Unit) -> Subscription raise ClientFailureInstall
Download zipTyped asynchronous frontend client for Proton applications.
Dependencies