update readme

pull/108/head
Jonas Kruckenberg 3 years ago
parent 082b7dd203
commit 5466ed562a

@ -59,6 +59,38 @@ const val = await store.get("some-key");
assert(val, { value: 5 }); assert(val, { value: 5 });
``` ```
## Usage from Rust
You can also access Stores from Rust, you can create new stores:
```rust
use tauri_plugin_store::store::StoreBuilder;
use serde_json::json;
fn main() {
tauri::Builder::default()
.plugin(tauri_plugin_store::Builder::default().build())
.setup(|app| {
let mut store = StoreBuilder::new(app.handle(), "path/to/store.bin").build();
store.insert("a", json!("b")) // note that values must be serd_json::Value to be compatible with JS
})
.run(tauri::generate_context!())
.expect("error while running tauri application");
}
```
As you may have noticed, the Store crated above isn't accessible to the frontend. To interoperate with stores created by JS use the exported `with_store` method:
```rust
use tauri_plugin_store::with_store;
let stores = app.state::<StoreCollection<R>>();
let path = PathBuf::from("path/to/the/storefile");
with_store(app_handle, stores, path, |store| store.set("a", json!("b")))
```
## Contributing ## Contributing
PRs accepted. Please make sure to read the Contributing Guide before making a pull request. PRs accepted. Please make sure to read the Contributing Guide before making a pull request.

Loading…
Cancel
Save