9 releases (breaking)
0.8.0 | Sep 25, 2024 |
---|---|
0.7.0 | Apr 6, 2024 |
0.6.0 | Mar 8, 2023 |
0.5.1 | Dec 22, 2021 |
0.1.1 | Mar 23, 2021 |
#456 in Web programming
94,041 downloads per month
Used in 30 crates
(4 directly)
23KB
420 lines
worker-kv
Rust bindings to Cloudflare Worker KV Stores using wasm-bindgen and js-sys.
Example
let kv = KvStore::create("Example")?; // or KvStore::from_this(&this, "Example") if using modules format Workers
// Insert a new entry into the kv.
kv.put("example_key", "example_value")?
.metadata(vec![1, 2, 3, 4]) // Use some arbitrary serialiazable metadata
.execute()
.await?;
// NOTE: kv changes can take a minute to become visible to other workers.
// Get that same metadata.
let (value, metadata) = kv.get("example_key").text_with_metadata::<Vec<usize>>().await?;
For a more complete example check out the full example.
How do I use futures in WebAssembly?
There currently is not a way to use a Future natively from WebAssembly but with the future_to_promise function from wasm_bindgen_futures we can convert it to a standard JavaScript promise, which can be awaited in the regular JavaScript context.
Dependencies
~1.4–4MB
~72K SLoC