Persistent stores for Tauri.
[!TIP] There are also custom plugins that tightly integrate with your favorite framework or library.
import { Store } from 'tauri-store';
const store = new Store('my-store', { counter: 0 });
// Get a value. This is a synchronous operation!
const counter = store.get('counter');
console.log(counter);
// Set a value.
store.set('counter', 42);
// Update a value with a callback.
store.update('counter', (value) => value + 1);
// Set multiple values at once.
store.patch({ counter: 0 });
// Listen to changes.
store.subscribe((state) => {
console.log(state);
});
// Save the store. Unlike the others, this is asynchronous.
await store.save();
Check the documentation for more information on how to install and use the plugins.
Currently, the following plugins are available:
Name | Version | Works with |
---|---|---|
tauri-store | Everything | |
@tauri-store/pinia | Vue, Nuxt | |
@tauri-store/svelte | Svelte | |
@tauri-store/valtio | React | |
@tauri-store/zustand | React |
You can find example projects in the examples directory. To check them out, run the following commands:
git clone https://github.com/ferreira-tb/tauri-store.git
cd tauri-store
pnpm install
pnpm run example [EXAMPLE_NAME]
For example, to run the pinia
project, you can use:
pnpm run example pinia
For a completely random example, run:
pnpm run example random
The plugins require Tauri 2.0
or later.