livesplit / splits-io-api Goto Github PK
View Code? Open in Web Editor NEWBindings to the Splits.io API for Rust.
License: Apache License 2.0
Bindings to the Splits.io API for Rust.
License: Apache License 2.0
For the speedrun.com API we use the exact same code. Instead of copy pasting it, we should make it available via some crate that anyone can use. One possibility is to usptream it into the http-client crate, which already has a similar, but really buggy implementation. However I consider those maintainers fairly toxic, so I'm not sure if I really want to upstream the code into that repository.
Additionally for the event stream we are introducing an async WebSocket implementation which we likely also want to upstream somewhere. The http-client crate may not be what we want for that as it doesn't have any WebSocket capabilities and we would need to provide one for their native backends. However for the native implementation we use tokio-tungstenite and the http-client maintainers have personal issues with the tokio maintainers. So that will cause even more problems.
I really just want to make a gloo-http crate (gloo is the JS APIs but as idiomatic Rust, so gloo-http would be ideal), but I'm not sure if making such a crate without having talked to the gloo maintainers beforehand is a good idea.
This needs a websocket implementation for WebAssembly and is blocked by snapview/tokio-tungstenite#68
We want to migrate to rustls for the dependencies that support it. This is blocked on hyper-rustls 0.19.0 releasing.
This commit added them to the JSON schema: glacials/splits-io@e89d7b2
The splits-io-api should work not only on Desktop platforms, but also when targeting the web. For that we'll use the wasm-bindgen ecosystem.
We soon want to release a version on crates.io, so it can be used from other crates such as livesplit-core.
This is blocked on our dependencies releasing non-preview crates now:
Alternatively
We need some documentation for all of the public API.
So far we only have free standing functions that resemble the API, but we can do better by providing methods for the different types, that guide us along the API.
So we could do something like this:
let categories = runner::search(&client, "cryze").await?
.first()?
.pbs(&client).await?
.first()?
.game
.categories(&client).await?
.first()?;
This is a new API they have added that we don't yet support.
When lazily uploading a run, the custom error when writing to the body is just unwrapped instead of properly handled.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.