pub struct Store<R, C>where
R: Runtime,
C: CollectionMarker,{ /* private fields */ }Expand description
A key-value store that can persist its state to disk.
Implementations§
Source§impl<R, C> Store<R, C>where
R: Runtime,
C: CollectionMarker,
impl<R, C> Store<R, C>where
R: Runtime,
C: CollectionMarker,
Sourcepub fn app_handle(&self) -> &AppHandle<R>
pub fn app_handle(&self) -> &AppHandle<R>
Gets a handle to the application instance.
Sourcepub fn raw_state(&self) -> &StoreState
pub fn raw_state(&self) -> &StoreState
Gets a reference to the raw store state.
Sourcepub fn state<T>(&self) -> Result<T, Error>where
T: DeserializeOwned,
pub fn state<T>(&self) -> Result<T, Error>where
T: DeserializeOwned,
Tries to parse the store state as an instance of type T.
Sourcepub fn state_or<T>(&self, default: T) -> Twhere
T: DeserializeOwned,
pub fn state_or<T>(&self, default: T) -> Twhere
T: DeserializeOwned,
Tries to parse the store state as an instance of type T.
If it cannot be parsed, returns the provided default value.
Sourcepub fn state_or_default<T>(&self) -> Twhere
T: DeserializeOwned + Default,
pub fn state_or_default<T>(&self) -> Twhere
T: DeserializeOwned + Default,
Tries to parse the store state as an instance of type T.
If it cannot be parsed, returns the default value of T.
Sourcepub fn state_or_else<T>(&self, f: impl FnOnce() -> T) -> Twhere
T: DeserializeOwned,
pub fn state_or_else<T>(&self, f: impl FnOnce() -> T) -> Twhere
T: DeserializeOwned,
Tries to parse the store state as an instance of type T.
If it cannot be parsed, returns the result of the provided closure.
Sourcepub fn get_raw(&self, key: impl AsRef<str>) -> Option<&Value>
pub fn get_raw(&self, key: impl AsRef<str>) -> Option<&Value>
Gets a reference to a raw value from the store.
Sourcepub unsafe fn get_raw_unchecked(&self, key: impl AsRef<str>) -> &Value
pub unsafe fn get_raw_unchecked(&self, key: impl AsRef<str>) -> &Value
Gets a reference to a raw value from the store.
§Safety
This is undefined behavior if the key doesn’t exist in the store.
Sourcepub fn get<T>(&self, key: impl AsRef<str>) -> Result<T, Error>where
T: DeserializeOwned,
pub fn get<T>(&self, key: impl AsRef<str>) -> Result<T, Error>where
T: DeserializeOwned,
Gets a value from the store and tries to parse it as an instance of type T.
Sourcepub fn get_or<T>(&self, key: impl AsRef<str>, default: T) -> Twhere
T: DeserializeOwned,
pub fn get_or<T>(&self, key: impl AsRef<str>, default: T) -> Twhere
T: DeserializeOwned,
Gets a value from the store and tries to parse it as an instance of type T.
If the key does not exist, returns the provided default value.
Sourcepub fn get_or_default<T>(&self, key: impl AsRef<str>) -> Twhere
T: DeserializeOwned + Default,
pub fn get_or_default<T>(&self, key: impl AsRef<str>) -> Twhere
T: DeserializeOwned + Default,
Gets a value from the store and tries to parse it as an instance of type T.
If the key does not exist, returns the default value of T.
Sourcepub fn get_or_else<T>(&self, key: impl AsRef<str>, f: impl FnOnce() -> T) -> Twhere
T: DeserializeOwned,
pub fn get_or_else<T>(&self, key: impl AsRef<str>, f: impl FnOnce() -> T) -> Twhere
T: DeserializeOwned,
Gets a value from the store and tries to parse it as an instance of type T.
If the key does not exist, returns the result of the provided closure.
Sourcepub unsafe fn get_unchecked<T>(&self, key: impl AsRef<str>) -> Twhere
T: DeserializeOwned,
pub unsafe fn get_unchecked<T>(&self, key: impl AsRef<str>) -> Twhere
T: DeserializeOwned,
Gets a value from the store and parses it as an instance of type T.
§Safety
This is undefined behavior if the key doesn’t exist in the store
OR if the value cannot be represented as a valid T.
Sourcepub fn set(
&mut self,
key: impl AsRef<str>,
value: impl Into<Value>,
) -> Result<(), Error>
pub fn set( &mut self, key: impl AsRef<str>, value: impl Into<Value>, ) -> Result<(), Error>
Sets a key-value pair in the store.
Sourcepub fn patch<S>(&mut self, state: S) -> Result<(), Error>where
S: Into<StoreState>,
pub fn patch<S>(&mut self, state: S) -> Result<(), Error>where
S: Into<StoreState>,
Patches the store state.
Sourcepub fn values(&self) -> impl Iterator<Item = &Value>
pub fn values(&self) -> impl Iterator<Item = &Value>
Creates an iterator over the store values.
Sourcepub fn entries(&self) -> impl Iterator<Item = (&String, &Value)>
pub fn entries(&self) -> impl Iterator<Item = (&String, &Value)>
Creates an iterator over the store entries.
Sourcepub fn save_now(&self) -> Result<(), Error>
pub fn save_now(&self) -> Result<(), Error>
Save the store immediately, ignoring the save strategy.
Sourcepub fn save_on_exit(&mut self, enabled: bool)
pub fn save_on_exit(&mut self, enabled: bool)
Whether to save the store on exit. This is enabled by default.
Sourcepub fn save_on_change(&mut self, enabled: bool)
pub fn save_on_change(&mut self, enabled: bool)
Whether to save the store on state change.
Sourcepub fn save_strategy(&self) -> SaveStrategy
pub fn save_strategy(&self) -> SaveStrategy
Current save strategy used by this store.
Sourcepub fn set_save_strategy(&mut self, strategy: SaveStrategy)
pub fn set_save_strategy(&mut self, strategy: SaveStrategy)
Sets the save strategy for this store. Calling this will abort any pending save operation.
Sourcepub fn unwatch(&mut self, id: impl Into<WatcherId>) -> bool
pub fn unwatch(&mut self, id: impl Into<WatcherId>) -> bool
Removes a listener from this store.
Sourcepub fn set_options(&mut self, options: StoreOptions) -> Result<(), Error>
pub fn set_options(&mut self, options: StoreOptions) -> Result<(), Error>
Sets the store options.
Trait Implementations§
Source§impl<R, C> From<&Store<R, C>> for StoreOptionswhere
R: Runtime,
C: CollectionMarker,
impl<R, C> From<&Store<R, C>> for StoreOptionswhere
R: Runtime,
C: CollectionMarker,
Source§fn from(store: &Store<R, C>) -> StoreOptions
fn from(store: &Store<R, C>) -> StoreOptions
Auto Trait Implementations§
impl<R, C> !Freeze for Store<R, C>
impl<R, C> !RefUnwindSafe for Store<R, C>
impl<R, C> Send for Store<R, C>
impl<R, C> Sync for Store<R, C>
impl<R, C> Unpin for Store<R, C>
impl<R, C> !UnwindSafe for Store<R, C>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more