pub struct AppPreferencesDocument {
pub version: u32,
pub values: BTreeMap<String, Value>,
}Expand description
Versioned, extensible application-preferences payload.
Values are ordered by key for deterministic in-memory traversal and JSON
serialization. Empty values are valid. Deserialization preserves any
version; AppStorage::read_preferences performs compatibility validation.
§Examples
use ailloli_ui_app_storage::AppPreferencesDocument;
use serde_json::json;
let mut preferences = AppPreferencesDocument::new();
preferences.values.insert("theme".into(), json!("dark"));
assert_eq!(preferences.values["theme"], "dark");Fields§
§version: u32Persisted schema version; the current supported value is APP_PREFERENCES_VERSION.
values: BTreeMap<String, Value>Application-defined JSON preferences; an empty map means no saved preferences.
Implementations§
Source§impl AppPreferencesDocument
impl AppPreferencesDocument
Sourcepub fn new() -> Self
pub fn new() -> Self
Creates a current-version document with no preference values.
§Examples
use ailloli_ui_app_storage::{AppPreferencesDocument, APP_PREFERENCES_VERSION};
let document = AppPreferencesDocument::new();
assert_eq!(document.version, APP_PREFERENCES_VERSION);
assert!(document.values.is_empty());Trait Implementations§
Source§impl Clone for AppPreferencesDocument
impl Clone for AppPreferencesDocument
Source§fn clone(&self) -> AppPreferencesDocument
fn clone(&self) -> AppPreferencesDocument
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for AppPreferencesDocument
impl Debug for AppPreferencesDocument
Source§impl Default for AppPreferencesDocument
impl Default for AppPreferencesDocument
Source§impl<'de> Deserialize<'de> for AppPreferencesDocument
impl<'de> Deserialize<'de> for AppPreferencesDocument
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for AppPreferencesDocument
impl PartialEq for AppPreferencesDocument
Source§impl Serialize for AppPreferencesDocument
impl Serialize for AppPreferencesDocument
impl StructuralPartialEq for AppPreferencesDocument
Auto Trait Implementations§
impl Freeze for AppPreferencesDocument
impl RefUnwindSafe for AppPreferencesDocument
impl Send for AppPreferencesDocument
impl Sync for AppPreferencesDocument
impl Unpin for AppPreferencesDocument
impl UnwindSafe for AppPreferencesDocument
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
Mutably borrows from an owned value. Read more